Adding a String after a text in a Line (using nawk)


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Adding a String after a text in a Line (using nawk)
# 1  
Old 03-01-2013
Adding a String after a text in a Line (using nawk)

Hello

I need to add a String after a text in a line. The Unix file is huge and I think nawk would be quick.

Current:
Code:
-name FILTER -node 60265 -cob 31/01/2013 -risktype + -change 1 -filter ALL_NODES -toponly -warnings OFF -delimiter "|" -noheader -select node,var(99),vardate(99),var(95),vardate(95),var(100),vardate(100),var(0),vardate(0),var(1),vardate(1),var(5),vardate(5) @localplaf=abc.plf:60265| |GWCH CAP MKTS DEALERSHIP|31/01/2013|GRN|GRN|101|COB|03|18:00:00|6310|56736982059.70|USD|8~1|USD|DEPOSIT_USD_1M| |-1749.871|1|Y|GEN~1|USD|DEPOSIT_USD_3M_FUTURE| |-1157.0864|1|Y|GEN~1|USD|DEPOSIT_USD_1M| |-3.8346|1|Y|GEN~6|USD|DEPOSIT_USD_1M_AAA|BOND_USD_2Y_AA| |-0.3306|1|N|SPC~6|USD|DEPOSIT_USD_1M_AAA|BOND_USD_5Y_AA| |-4.4626|1|N|SPC~6|USD|DEPOSIT_USD_1M_AAA|BOND_USD_2Y_AA| |-1546.3948|1|Y|SPC~6|USD|DEPOSIT_USD_1M_AAA|BOND_USD_5Y_AA| |-640.9442|1|Y|SPC~6|USD|DEPOSIT_USD_3M_FUTURE|BOND_USD_5Y_AA| |-1446.3581|1|Y|SPC~

After:
Code:
-name FILTER -username filter -node 60265 -cob 31/01/2013 -risktype + -change 1 -filter ALL_NODES -toponly -warnings OFF -delimiter "|" -noheader -select node,var(99),vardate(99),var(95),vardate(95),var(100),vardate(100),var(0),vardate(0),var(1),vardate(1),var(5),vardate(5) @localplaf=abc.plf:60265| |GWCH CAP MKTS DEALERSHIP|31/01/2013|GRN|GRN|101|COB|03|18:00:00|6310|56736982059.70|USD|8~1|USD|DEPOSIT_USD_1M| |-1749.871|1|Y|GEN~1|USD|DEPOSIT_USD_3M_FUTURE| |-1157.0864|1|Y|GEN~1|USD|DEPOSIT_USD_1M| |-3.8346|1|Y|GEN~6|USD|DEPOSIT_USD_1M_AAA|BOND_USD_2Y_AA| |-0.3306|1|N|SPC~6|USD|DEPOSIT_USD_1M_AAA|BOND_USD_5Y_AA| |-4.4626|1|N|SPC~6|USD|DEPOSIT_USD_1M_AAA|BOND_USD_2Y_AA| |-1546.3948|1|Y|SPC~6|USD|DEPOSIT_USD_1M_AAA|BOND_USD_5Y_AA| |-640.9442|1|Y|SPC~6|USD|DEPOSIT_USD_3M_FUTURE|BOND_USD_5Y_AA| |-1446.3581|1|Y|SPC~

Basically I need to add "-username filter" to every line after "-name FILTER".

Really appreciate your thoughts.
# 2  
Old 03-01-2013
Code:
nawk ' { sub(/^-name FILTER/,"-name FILTER -username filter") } 1' filename

OR
Code:
nawk ' { sub(/^-name FILTER/,"& -username filter") } 1' file

This User Gave Thanks to Yoda For This Post:
# 3  
Old 03-01-2013
Code:
perl -pe 's/(^-name FILTER)/$1 -username filter/' infile

Add -i option, and infile is changed directly.
This User Gave Thanks to MadeInGermany For This Post:
# 4  
Old 03-01-2013
Code:
$ sed 's:\(-name FILTER\):\1 -username filter:' file
-name FILTER -username filter -node 60265 . . .

This User Gave Thanks to RudiC For This Post:
# 5  
Old 03-01-2013
Thank you very much for all your replies.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Adding text to the first line of a shell script

the first line of every unix script written in an interpreted language always has a "#!<path-to-the-language>" is there a way to include other text in that first line without it affecting the ability of the script to run??? for instance, if i change the following line: #!/bin/sh echo blah... (1 Reply)
Discussion started by: SkySmart
1 Replies

2. Shell Programming and Scripting

Adding a text in the beginning of a line

Hi, I am doing something like below: cat file1>file3and cat file2>>file3 I wanted to check if there is a way to write a custom message(hardcoded message)something like below at the beginning of each line then PIPE delimitiation and then followed by remaining record. cat file1... (7 Replies)
Discussion started by: Saanvi1
7 Replies

3. UNIX for Dummies Questions & Answers

[Help] Adding text to a variable line in a file

Hey guys, I need to write a script that will add a specific text at the end of a specific line (of a text file). but the line is a variable this is my text file : device_2 ansible_ssh_host=127.0.0.1 ansible_ssh_port=30000 ansible_ssh_user='root' device_2 ansible_ssh_host=127.0.0.1... (1 Reply)
Discussion started by: OdedOvdat
1 Replies

4. Shell Programming and Scripting

[string processing]Adding new line in file

I have a report file which somewhere has a lines starting with word ".sub" I have a new variable named $new. What i am trying to do is insert the content of $new just before the occurrence of ".sub" in the report file. How can I do that? (11 Replies)
Discussion started by: animesharma
11 Replies

5. Shell Programming and Scripting

adding a line to a text file

I have a tab delimited text file, id name distance 1 3325167 0.334561754018 2 3290488 0.389444269458 3 3288794 0.392312701782 4 3347602 0.392532202097 5 3295355 0.394394169485 I need to add a line after the header line. The first and third field of... (3 Replies)
Discussion started by: LMHmedchem
3 Replies

6. Shell Programming and Scripting

Adding text in final line

Dear Friends, I have a flat file where last line of it has word D$mhtt I want to add a space and back slash after it. Also wanna add -S "J" in the last line. Following example will make it clear. I have this in the last line of file D$mhtt I want D$mhtt \ -S "J" Please... (5 Replies)
Discussion started by: anushree.a
5 Replies

7. UNIX for Dummies Questions & Answers

Adding one string at the beginning of each line in a file

Hi, I have file a.txt as below. I want to add one string root beginning of each line. Sample file a.txt aaa bbb ccc Sample output Root aaa Root bbb Root ccc Can any one help me on this? (6 Replies)
Discussion started by: siba.s.nayak
6 Replies

8. Shell Programming and Scripting

Adding specific text and spaces to each line in a text file

Hi, I wanted to add specific text to each row in a text file containing three rows. Example: 0 8 7 6 5 5 7 8 9 0 7 9 7 8 9 0 1 2 And I want to add a 21 at the beginning of the first row, and blank spaces at the beginning of the second two rows. To get this: 21 0 8 7 6 5 5 7 8... (4 Replies)
Discussion started by: hertingm
4 Replies

9. Shell Programming and Scripting

adding text to end of each line in a file

I'm needing to add a "hour:min" to the end of each line in a document. The document in this case is only going to be one line. if this inserts it at the end, what needs to be changed to add something at the end... /bin/echo "%s/^/$filler/g\nwq!" | ex -s $oFile Thank you... (2 Replies)
Discussion started by: cubs0729
2 Replies

10. Shell Programming and Scripting

Adding Text To each line of a file

How would I add text to the beginning of each line in a text file in a script right after the file is created from another text file. (4 Replies)
Discussion started by: cubs0729
4 Replies
Login or Register to Ask a Question