yet another sed/awk question


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting yet another sed/awk question
# 1  
Old 04-04-2011
yet another sed/awk question

Unix Guru's ,

I have a file all_files.txt containing data as follows

Code:
all_files.txt

first  file : /a/b/c/file.sh  first second CLIENT1
second file : /a/b/c/file.sh  first second CLIENT1

first file : /a/b/c/file.sh  first second CLIENT2
second file : /a/b/c/file.sh  first second CLIENT2

first file : /a/b/c/file.sh  first second CLIENT3
second file : /a/b/c/file.sh  first second CLIENT3

first file : /a/b/c/file.sh  first second CLIENT4
second file : /a/b/c/file.sh  first second CLIENT4

I would like to replace line2 for CLIENT2

Code:
second file : /a/b/c/file.sh  first second CLIENT2
with
second file : /a/b/c/script.sh  driver file CLIENT2

If I can make CLIENT1,2,3,4 as a variable i will be able to selectively modify the file.
any help is appreciated.
# 2  
Old 04-04-2011
Code:
awk '$0~/^second/{sub(".*","second file : /a/b/c/script.sh  driver file "$NF,$0)}1' infile

or

Code:
nawk '$0~/^second/{sub(".*","second file : /a/b/c/script.sh  driver file "$NF,$0)}1' infile


Last edited by ctsgnb; 04-04-2011 at 11:28 AM..
This User Gave Thanks to ctsgnb For This Post:
# 3  
Old 04-04-2011
Code:
nawk -v c=CLIENT2 '$NF==c{$(NF-2)="driver";$(NF-1)="file"}1' myFile

# 4  
Old 04-04-2011
i do not have nwak installed.
# 5  
Old 04-04-2011
Code:
sed -nr 's#(^second file : ).*( CLIENT2)#\1/a/b/c/script.sh driver file\2#;p' yourFile

replace the parts that you like to varialble.
This User Gave Thanks to sk1418 For This Post:
# 6  
Old 04-04-2011
Quote:
Originally Posted by jville
i do not have nwak installed.
Surprised? Use 'awk' instead.
This User Gave Thanks to vgersh99 For This Post:
# 7  
Old 04-04-2011
thankyou guys for your valueble input.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk question (or sed, if that's better to use)

Hi all, I'm pretty new to Unix (Sun) scripting, and wanted to try doing what many would probably believe is pretty easy. I tried searching the forums and only found bits and pieces of things I wanted to do below, but after many tries had a very hard time piecing it together. Would anyone... (1 Reply)
Discussion started by: chatguy
1 Replies

2. Shell Programming and Scripting

sed awk question

I have a string that I need to remove data that is not within <>. For example: this is a <test> of removing <text> outside brackets output should be: <test> <text> or: test text I can use either of the two outputs but so far I have not had much luck removing all of the other text. The... (15 Replies)
Discussion started by: chewbacca72
15 Replies

3. Shell Programming and Scripting

sed or awk question

Hello expert, I have an output file with few thousand lines similar like below : &quot;Future Netmgmt&quot; &quot;10.99.16.0&quot; &quot;N&quot; &quot;10&quot; &quot;10.0.0.0&quot; &quot;Circuitless-IP&quot; &quot; &quot; &quot;255.255.254.0&quot; &quot;Future Netmgmt&quot; &quot;10.99.18.0&quot; &quot;N&quot; &quot;10&quot; &quot;10.0.0.0&quot; &quot;Circuitless-IP&quot; &quot; &quot; &quot;255.255.254.0&quot; &quot;WAAS loopbacks&quot; &quot;10.99.20.0&quot;... (6 Replies)
Discussion started by: dannytrinh
6 Replies

4. UNIX for Dummies Questions & Answers

sed or awk question

hi there! i have a question that i hope someone may be able to help me with. i am using the 'paste' function to concatenate to files together. $ paste A B output: A B C D However I want to get rid of the space in between - I have tried the following with no luck: #... (2 Replies)
Discussion started by: thegant
2 Replies

5. UNIX for Dummies Questions & Answers

sed and awk question

Hi, I have to write a script that goes through every *.cpp file in the current directory and if any file has #includes of non-system header files (those with double quotes around them), then I need to print out those header files within the quotes. I've figured out how to run a for loop and find... (4 Replies)
Discussion started by: MEllis5
4 Replies

6. Shell Programming and Scripting

to sed or awk, that is the question?

I have a text file with about 790 lines, at the end of many of the lines there is the text string 'f4' I want this text to be 'f2' What is the best way to do this? is it sed or awk? or something else? how? Also, there is maybe fifty occasions where f4 appears near the begining of the line that I... (2 Replies)
Discussion started by: ajp7701
2 Replies

7. Shell Programming and Scripting

sed and awk question

hello, I have this in a file server_name=DB1 hostname=db1 I want to change hostname value to `hostname`. Any idea? and server_name value to toUPPER (`hostname`). Any idea? thanks (3 Replies)
Discussion started by: melanie_pfefer
3 Replies

8. UNIX for Advanced & Expert Users

A question on using sed or awk

Hi I have a pattern like this. repeating many lines CHANGE #13 TYP:22 CLS: 21 AFN:12 DBA:0x0040a15f OBJ:41142 SCN:0x0000.00036b3e SEQ:1 OP:11.2 CHANGE #15 TYP:32 CLS: 32 AFN:212 DBA:0x0040a15f OBJ:41143 SCN:0x0000.00046b3e SEQ:1 OP:13.3 . And i am trying to do the following: a) I need to get... (2 Replies)
Discussion started by: hare
2 Replies

9. Shell Programming and Scripting

Awk Sed question

i have to search direcotry with a Min or Max size and but with a standard find.... it gives me the size of the i-node of the directory. A friend told me to use awk/sed command to search directories. he also gave me this command: find -type d -exec du '{}' \; | awk -v sz=10 '{if... (0 Replies)
Discussion started by: AkiraSama
0 Replies

10. Shell Programming and Scripting

Sed or Awk Question

I have some text: 0400-0427 NA Czech Republic R. Prague 5990ca, 6200, 7345 0400-0456 NA, As Romania R. Romania Int'l 6115, 9515, 9690, 11895 0400-0500 NA U. S. A. WYFR 6065, 6855, 9505, 9715 0400-0500 NA,Eu,Af U. S. A. ... (8 Replies)
Discussion started by: petebear
8 Replies
Login or Register to Ask a Question