Shell script to replace strings to and from a file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Shell script to replace strings to and from a file
# 1  
Old 10-26-2009
Shell script to replace strings to and from a file

Hello All,
I have 2 files
1 ) source file eg

asasa 1.2.3.4 adfhsdfsdfasdf
zxzxzx 2.3.4.56 dsadasdasdsadasd
kjjkjkjk 30.3.4.5 asdsadsadsadsadsad
vxcvxcvx 1.2.3.4 qwewqewqeqweqwe

2) patern file
1.2.3.4 A
2.3.4.56 B
30.3.4.5 C

I need the source to be changed to

asasa A adfhsdfsdfasdf
zxzxzx B dsadasdasdsadasd
kjjkjkjk C asdsadsadsadsadsad
vxcvxcvx A qwewqewqeqweqwe

Can this be done using a shell script?

Please help
# 2  
Old 10-26-2009
Code:
/tmp # cat Test
awk '
  NR == FNR { A[$1] = $2; next }
  { print $1, A[$2], $3 }
' pattern source

./Test
asasa A adfhsdfsdfasdf
zxzxzx B dsadasdasdsadasd
kjjkjkjk C asdsadsadsadsadsad
vxcvxcvx A qwewqewqeqweqwe

# 3  
Old 10-26-2009
Shorter Smilie
Code:
awk 'NR==FNR{a[$1]=$2;next}{$2=a[$2]}1' pattern source



---------- Post updated at 04:53 PM ---------- Previous update was at 03:55 PM ----------

Code:
# echo 'NR==FNR{a[$1]=$2;next}{print $1,a[$2],$3}'|wc -c
      42
# echo 'NR==FNR{a[$1]=$2;next}{$2=a[$2]}1'|wc -c
      34

8 only Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Programming

Python or Shell script to Grep strings from input file and output in csv format

Hi Experts, I am writing a python script to grep string from file and display output in csv file as in attached screenshot https://drive.google.com/file/d/1gfUUdfmQma33tz65NskThYDhkZUGQO0H/view Input file(result_EPFT_config_device) Below is the python script i have prepared as of... (1 Reply)
Discussion started by: as7951
1 Replies

2. Red Hat

How to replace Ip address in .xml file through shell script?

I have one .xml file. which contains the following line. <ParamString StringId="PortAddress" StringValue="172.27.166.170" /> <ParamString StringId="PortAddress" StringValue="172.27.166.171" /> <ParamString StringId="PortAddress" StringValue="172.27.166.202" /> <ParamString... (9 Replies)
Discussion started by: Anjan Ganguly
9 Replies

3. Shell Programming and Scripting

Replace multiple strings of a file

Hi, I have an array variable "arr" that reads string from a file "vari.txt". Thus, the array will be of variable length depending how many entries are present in "vari.txt" I use a for loop to traverse through the array. vari.txt (in this sample we have 2 entries, but it can have more... (5 Replies)
Discussion started by: mohtashims
5 Replies

4. Shell Programming and Scripting

Help needed with shell script to search and replace a set of strings among the set of files

Hi, I am looking for a shell script which serves the below purpose. Please find below the algorithm for the same and any help on this would be highly appreciated. 1)set of strings need to be replaced among set of files(directory may contain different types of files) 2)It should search for... (10 Replies)
Discussion started by: Amulya
10 Replies

5. Shell Programming and Scripting

Replace the strings in file

Hello members, I been following this forums since very long time. I need to do one job. In my script I am evaluating one variable, lets say n=100. Now i have xml file inside which i need to replace the numbers in the desired lines with the evaluated number(n) +1. For example let's say... (4 Replies)
Discussion started by: mailtosaiki
4 Replies

6. Shell Programming and Scripting

Read file and for each line replace two variables, add strings and save output in another file

Hi All, I have a file, let's call it "info.tmp" that contains data like this .. ABC123456 PCX333445 BCD789833 I need to read "info.tmp" and for each line add strings in a way that the final output is put /logs/ua/dummy.trigger 'AAA00001.FTP.XXX.BLA03A01.xxxxxx(+1)' where XXX... (5 Replies)
Discussion started by: Andy_ARG
5 Replies

7. Shell Programming and Scripting

Replace multiple strings in a file.

Hello Freinds, Hope, you all are doing well. I have to replace the static strings from one file (File 1) with the dynamic strings from the another file (File2). I've written a shell script for this.Below is the contents. while read line do field=`echo $line | awk '{print $1}'` ... (9 Replies)
Discussion started by: singh.chandan18
9 Replies

8. Shell Programming and Scripting

replace strings in a file

Hi I want to change the following passwd: files nis group: files nis in /etc/nsswitch.conf to be passwd: files compat group: files compat I tried cp -p nsswitch.conf nsswitch.conf.old (3 Replies)
Discussion started by: melanie_pfefer
3 Replies

9. UNIX for Advanced & Expert Users

how to replace a line in a file using shell script

I have a property file in which the DB name is specified and when i run my servers they will point to the DB specified in that property file. Now i'm gonna write a script which will start all the services. But before that i just want to dynamically change the DB name in that property file by... (3 Replies)
Discussion started by: cs_sakthi
3 Replies
Login or Register to Ask a Question