Visit Our UNIX and Linux User Community


Search & Replace content of files using gsub in awk


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Search & Replace content of files using gsub in awk
# 1  
Old 03-13-2013
Search & Replace content of files using gsub in awk

Hi,I have 2 files master.txt & reference.txt as shown below & i require o/p as mentioned in file 3 using awk but content is not replacing properlymaster.txt:
Code:
919814047423728,Idea,PUN2372,MTS,AP25E4,Aircel,AP250A,Idea,AP2630,Airtel,PB919014002000,RCOM,AP919700099155,Aircel,APreference.txt2630,919700099155,123728,919700099155,225E4,250A,3919014002E40,919814047423728,10o/p:Airtel PB,Aircel AP,19198140474MTS AP,Aircel AP,2Aircel AP,Idea AP,3919014002E40,9198140474MTS AP

I want to match the exact length in reference.txt for replacement through master.txt & if it is not found then refernce file should print as it is. Please helpi have written the following sample code:
Code:
awk -F, 'NR==FNR {rep[$1]=$2" "$3; next}{ for (r in rep) gsub(r,rep[r],$0); print $0}' master.txt reference.txt


Last edited by Franklin52; 03-13-2013 at 06:16 AM.. Reason: Please use code tags for data and code samples
# 2  
Old 03-13-2013
Please post your master file and reference file again using code tags.
From above it not clear.
And please post desired output also.

Regards,

pamu
# 3  
Old 03-13-2013
Can you post sample input and expected output?
# 4  
Old 03-13-2013
Not clear. What (fields, lines, characters) in reference.txt do you want to replace with what (see before)?
In your example, you replace every occurrence of master's field 1 in reference by master's field 2&3, which works fine.
# 5  
Old 03-13-2013
would be more appropriate if you can share

template lines from both master.txt and the reference.txt and possibly if you know what the output should look like, a line with required pattern.
# 6  
Old 03-14-2013
Code:
Master.txt2372,MTS,AP919848001104,Airtel,DL0819,MTS,MUM919849788001,Airtel,AP1430,Aircel MP,20Reference.txt2372,919848701430,46467919848002372,2372,471952372,919849788001,590270819,028803,10819,029801,10819,2372,1Output which is coming is as follows:MTS AP,91984870Aircel MP,4646791984800MTS AP,MTS AP,47195MTS AP,Airtel,AP59027MTS MUM,028803,1MTS MUM,029803,1MTS MUM,MTS AP,1Requirement:Only the exact match of each separator field should be replaced in reference text,i.e, output should look like as followsMTS AP,919848701430,46467919848002372,MTS AP,47195MTS AP,Airtel,AP59027MTS MUM,028803,1MTS MUM,029803,1MTS MUM,MTS AP,1

# 7  
Old 03-14-2013
Can you use code tags.

Previous Thread | Next Thread
Test Your Knowledge in Computers #370
Difficulty: Medium
Bytecode instructions are processed by hardware and so they may be arbitrarily complex.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk gsub command to replace multiple spaces

Hi Forum. I'm trying to cleanup the following data elements (To remove any occurences of commas and any extra spaces) while preserving the <TAB> delimiter using awk gsub but I have not been successful. Original Data: 4365 monte des source rue,, ,<TAB>trevost<TAB>QC Desired Data:... (1 Reply)
Discussion started by: pchang
1 Replies

2. Shell Programming and Scripting

Replace characters in string with awk gsub

Hi I have a source file that looks like a,b,c,d,e,f,g,h,t,DISTI(USD),MSRP(USD),DIST(EUR),MSRP(EUR),EMEA-DISTI(USD),EMEA-MSRP(USD),GLOBAl-DISTI(USD),GLOBAL-MSRP(USD),DISTI(GBP), MSRP(GBP) I want to basically change MSRP(USD) to MSRP,USD and DIST(EUR) to DIST,EUR and likewise for all i'm using... (3 Replies)
Discussion started by: r_t_1601
3 Replies

3. Shell Programming and Scripting

Search & Replace in Multiple Files by reading a input file

I have a environment property file which contains: Input file: value1 = url1 value2 = url2 value3 = url3 and so on. I need to search all *.xml files under directory for value1 and replace it with url1. Same thing I have to do for all values mentioned in input file. I need script in unix bash... (7 Replies)
Discussion started by: Shamkamde
7 Replies

4. Shell Programming and Scripting

Search & replace content using awk/gsub

Hi, I have two files master.txt & reference.txt. Sample below Master.txt 2372,MTS,AP 919848001104,Airtel,DL 0819,MTS,MUM 919849788001,Airtel,AP 1430,Aircel MP,20 Reference.txt 2372,919848701430,46467 919848002372,2372,47195 2372,919849788001,59027 0819,028803,1 0819,029801,1... (2 Replies)
Discussion started by: siramitsharma
2 Replies

5. Shell Programming and Scripting

awk search/replace specific field, using variables for regexp & subsitution then overwrite file

Hello, I'm trying the solve the following problem. I have a file which I intend to use as a csv called master.csv The columns are separated by commas. I want to change the text on a specific row in either column 3,4,5 or 6 from xxx to yyy depending upon if column 1 matches a specified pattern.... (3 Replies)
Discussion started by: cyphex
3 Replies

6. Shell Programming and Scripting

awk + gsub to search multiple input values & replace with located string + extra text

Hi all. I have the following command that is successfully searching for any one of the strings on all lines of a file and replacing it with the instructed value. cat inputFile | awk '{gsub(/aaa|bbb|ccc|ddd/,"1234")}1' > outputFile This does in fact replace any occurrence of aaa, bbb,... (2 Replies)
Discussion started by: dazhoop
2 Replies

7. Shell Programming and Scripting

awk/sed to search & replace data in first column

Hi All, I need help in manipulating the data in first column in a file. The sample data looks like below, Mon Jul 18 00:32:52 EDT 2011,NULL,UAT Jul 19 2011,NULL,UAT 1] All field in the file are separated by "," 2] File is having weekly data extracted from database 3] For eg.... (8 Replies)
Discussion started by: gr8_usk
8 Replies

8. Shell Programming and Scripting

awk and gsub - how to replace only the first X occurrences

I have a text (text.txt) and I would like to replace only the first 2 occurrences of a word (but I might need to replace more): For example, if text is this: CAR sweet head hat red yellow CAR book brown tiger CAR cow CAR CAR milk I would like to replace the word "CAR" with word... (12 Replies)
Discussion started by: bingel
12 Replies

9. Shell Programming and Scripting

Search & Replace in Multiple Files by reading a input file

Hi, I have a folder which contains multiple config.xml files and one input file, Please see the below format. Config Files format looks like :- Code: <application name="SAMPLE-ARCHIVE"> <NVPairs name="Global Variables"> <NameValuePair> ... (0 Replies)
Discussion started by: haiksuresh
0 Replies

10. Shell Programming and Scripting

How do I search first&second string & copy all content between them to other file?

Hi All, How do I search first string & second string and copy all content between them from one file to another file? Please help me.. Thanks In Advance. Regards, Pankaj (12 Replies)
Discussion started by: pankajp
12 Replies

Featured Tech Videos