sed to do replace on line above


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sed to do replace on line above
# 8  
Old 12-11-2011
i tried scrutinizer one liner.. but i am getting error..
sorry but i am new to awk.. is it the complete command or just the syntax
# 9  
Old 12-11-2011
Are you on Solaris? If so use /usr/xpg4/bin/awk or nawk instead of awk
This User Gave Thanks to Scrutinizer For This Post:
# 10  
Old 12-11-2011
wow it worked.. but whats the difference between
Code:
/usr/bin/awk

and
Code:
/usr/xpg4/bin/awk

# 11  
Old 12-11-2011
Hi, /usr/xpg4/bin/awk is the POSIX (standard) version of awk on Solaris. The default awk version on Solaris (/usr/bin/awk) is outdated and is best avoided.
This User Gave Thanks to Scrutinizer For This Post:
# 12  
Old 12-12-2011
Just for the record: a sed solution would be:
Code:
sed  '/pattern/!{x;1d};/pattern/{x;s/old/new/;n;x};${p;x}' infile

Where 'pattern' is what you want to match on; and s/old/new/ is what you want to substitute with in the previous line.
Commands explained:
Code:
sed '
  /pattern/!{x;1d};               #line doesn't contain "pattern". Exchange the pattern buffer with hold buffer (x) 
                                  #and if it's the first line, delete (otherwise an empty line is printed at the beginning)
  /pattern/{x; s/old/new/; n;x};  #pattern found; exchange pat and hold  buffs (x), 
                                  #do substitution (s), 
                                  #print current pattern space (changed line) and  take a new line (n),
                                  #and exchange the new line with the line stashed in  hold buffer (x)
  ${p;x}                          #print the pattern space and the hold space on the last line
' infile

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Replace values in script reading line by line using sed

Hi all, Let's say I have a script calling for the two variables PA_VALUE and PB_VALUE. for pa in PA_VALUE blah blah do for pb in PB_VALUE blah blah do I have a text file with two columns of values for PA and PB. 14.5 16.7 7.8 9.5 5.6 3.6 etc etc I would like to read this... (7 Replies)
Discussion started by: crimsonengineer
7 Replies

2. Shell Programming and Scripting

sed command to replace a line in a file using line number from the output of a pipe.

Sed command to replace a line in a file using line number from the output of a pipe. Is it possible to replace a whole line piped from someother command into a file at paritcular line... here is some basic execution flow.. the line number is 412 lineNo=412 Now i have a line... (1 Reply)
Discussion started by: vivek d r
1 Replies

3. Shell Programming and Scripting

Multiple line search, replace second line, using awk or sed

All, I appreciate any help you can offer here as this is well beyond my grasp of awk/sed... I have an input file similar to: &LOG &LOG Part: "@DB/TC10000021855/--F" &LOG &LOG &LOG Part: "@DB/TC10000021852/--F" &LOG Cloning_Action: RETAIN &LOG Part: "@DB/TCCP000010713/--A" &LOG &LOG... (5 Replies)
Discussion started by: KarmaPoliceT2
5 Replies

4. Shell Programming and Scripting

sed command to replace a line at a specific line number with some other line

my requirement is, consider a file output cat output blah sdjfhjkd jsdfhjksdh sdfs 23423 sdfsdf sdf"sdfsdf"sdfsdf"""""dsf hellow there this doesnt look good et cetc etc etcetera i want to replace a line of line number 4 ("this doesnt look good") with some other line ... (3 Replies)
Discussion started by: vivek d r
3 Replies

5. Shell Programming and Scripting

Replace line with sed on OS X

So, I want to, in a script, do an in-line replacement of a line in a file. Piece of cake in Linux with GNU sed. With OSX and BSD sed, not so much. I've been Googling, but nothing is really helping... either an answer is for a use case different enough from what I want to do, or it's something... (10 Replies)
Discussion started by: jnojr
10 Replies

6. Shell Programming and Scripting

I need to know how to replace a line after a pattern match with an empty line using SED

Hi How Are you? I am doing fine! I need to go now? I will see you tomorrow! Basically I need to replace the entire line containing "doing" with a blank line: I need to the following output: Hi How Are you? I need to go now? I will see you tomorrow! Thanks in advance.... (1 Reply)
Discussion started by: sags007_99
1 Replies

7. Shell Programming and Scripting

sed to replace a line with modified line in same file

i have few lines in a file... i am reading them in a while loop so a particular line is held is $line1.. consider a modified line is held in $line2.... i want to replace $line1 with $line2 in the same file... how to do it..? i have come up till the below code sed "s/$line1/$line2/g" tmpfile.sql... (5 Replies)
Discussion started by: vivek d r
5 Replies

8. Shell Programming and Scripting

sed to replace <cr><cr><cr> in a line with <cr>

Hi, Please help me with the sed command for the following scenario: I've in abc.txt, asdasdada<cr>aasdsad<cr><cr>asdasdfsdfs<cr><cr><cr>asdsada<cr>adasd<cr>daasdaasd<cr><cr><cr> I want a sed command to do asdasdada<cr>aasdsad<cr>asdasdfsdfs<cr>asdsada<cr>adasd<cr>daasdaasd<cr> ... (13 Replies)
Discussion started by: skpvalvekar
13 Replies

9. Shell Programming and Scripting

How to replace one line with three in sed

Hi, I have a problem. I want to use SED to replace one line with three It looks like: PARAM='first_line,second_line,third_line' And in file: blablabla blablabla PARAM blablabla blablabla blablabla All I want is to change this into: blablabla blablabla first_line second_line... (6 Replies)
Discussion started by: ch0sen
6 Replies

10. Shell Programming and Scripting

sed - Replace Line which contains the Pattern match with a new line

I need to replace the line containing "STAGE_DB" with the line "STAGE_DB $DB # database that contains the table being loaded ($workingDB)" Here $DB is passed during the runtime. How can I do this? Thanks, Kousikan (2 Replies)
Discussion started by: kousikan
2 Replies
Login or Register to Ask a Question