return the previous line


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting return the previous line
# 8  
Old 12-18-2007
Data

Quote:
Originally Posted by Perderabo
Excuse me? I just retested them on both of your data files. Both sed commands continue to work correctly for me on both of your files.

Code:
$ cat file1
*Comment Frame 641 at 666.667 us
000000,CB1F,0,0,0,0,1,0,1
*Main End
$ sed -n -e '/\*Main End/{H;g;p;q;};h' file1
000000,CB1F,0,0,0,0,1,0,1
*Main End
$ sed -n -e '/\*Main End/{g;p;q;};h' file2
000000,CB1F,0,0,0,0,1,0,1
$
$
$
$
$
$ cat file2
000000,0000,0,0,2,0,0,0,0
*Comment Frame
5,7E3D,0,0,0,0,1,0,1
*Main End
$ sed -n -e '/\*Main End/{H;g;p;q;};h' file2
5,7E3D,0,0,0,0,1,0,1
*Main End
$ sed -n -e '/\*Main End/{g;p;q;};h' file2
5,7E3D,0,0,0,0,1,0,1
$

Sorry but I am exactly copying your file and code to my shell. But I am really very upset why its not working with my system..

In this case
Code:
sed -n -e '/\*Main End/{H;g;p;q;};h' file1

or
Code:
sed -n -e '/\*Main End/{H;g;p;q;};h' file1

it only returns me
Code:
*Main End

Please help ..

Last edited by user_prady; 12-18-2007 at 02:32 AM..
# 9  
Old 12-18-2007
Quote:
Originally Posted by Perderabo
Excuse me? I just retested them on both of your data files. Both sed commands continue to work correctly for me on both of your files.

Code:
$ cat file1
*Comment Frame 641 at 666.667 us
000000,CB1F,0,0,0,0,1,0,1
*Main End
$ sed -n -e '/\*Main End/{H;g;p;q;};h' file1
000000,CB1F,0,0,0,0,1,0,1
*Main End
$ sed -n -e '/\*Main End/{g;p;q;};h' file1
000000,CB1F,0,0,0,0,1,0,1
$
$
$
$
$
$ cat file2
000000,0000,0,0,2,0,0,0,0
*Comment Frame
5,7E3D,0,0,0,0,1,0,1
*Main End
$ sed -n -e '/\*Main End/{H;g;p;q;};h' file2
5,7E3D,0,0,0,0,1,0,1
*Main End
$ sed -n -e '/\*Main End/{g;p;q;};h' file2
5,7E3D,0,0,0,0,1,0,1
$

Yeah You are absolutely right its working under Linux.
But In Sun OS it's not working..

Thank you ..

Last edited by user_prady; 12-18-2007 at 05:18 AM..
# 10  
Old 12-18-2007
Don't know what to tell you. It should work with any sed. Smilie
# 11  
Old 12-18-2007
Anyway you can use awk to bypass the problem:

Code:
 /usr/xpg4/bin/awk '/\*Main End/{print x};{x=$0}' ${temp}

# 12  
Old 12-18-2007
Quote:
Originally Posted by Klashxx
Anyway you can use awk to bypass the problem:

Code:
 /usr/xpg4/bin/awk '/\*Main End/{print x};{x=$0}' ${temp}

Oh genious .... I wish I could have this line before some day back.

Why are you using /usr/xpg4/bin/ infront of awk is it necessary ?
Could you Please explain me how are doing this magic ?

Any way thanks.
I love to be here..
# 13  
Old 12-18-2007
The "other" awk is outdated.

Nice to help you.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Remove new line starting with a numeric value and append it to the previous line

Hi, i have a file with multiple entries. After some tests with sed i managed to get the file output as follows: lsn=X-LINK-IN0,apc=661:0,state=avail,avail/links=1/1, 00,2110597,2094790,0,81,529,75649011,56435363, lsn=TM1ITP1-AM1ITP1-LS,apc=500:0,state=avail,avail/links=1/1,... (5 Replies)
Discussion started by: nms
5 Replies

2. Shell Programming and Scripting

How to print previous line of multiple pattern matched line?

Hello, I have below format log file, Comparing csv_converted_files/2201/9747.1012H67126.5077292103609547345.csv and csv_converted_files/22019/97447.1012H67126.5077292103609547345.csv Comparing csv_converted_files/2559/9447.1012H67126.5077292103609547345.csv and... (6 Replies)
Discussion started by: arvindshukla81
6 Replies

3. UNIX for Advanced & Expert Users

How to find a string in a line in UNIX file and delete that line and previous 3 lines ?

Hi , i have a file with data as below.This is same file. But actual file contains to many rows. i want to search for a string "Field 039 00" and delete that line and previous 3 lines in that file.. Can some body suggested me how can i do using either sed or awk command ? Field 004... (7 Replies)
Discussion started by: vadlamudy
7 Replies

4. UNIX for Dummies Questions & Answers

How to remove fields space and append next line to previous line.?

awk 'BEGIN{FS = "Ç"} NR == 1 {p = $0; next} NF > 1 {print p; p = $0} NF <= 1 {p = (p " " $0)} END {print p}' input.txt > output.txt This is what the input data file looks like with broken lines Code: 29863 Ç890000000 Ç543209911 ÇCHNGOHG Ç000000001 Ç055 ... (4 Replies)
Discussion started by: cumeh1624
4 Replies

5. Shell Programming and Scripting

Remove previous line if next & previous lines have same 4th character.

I want to remove commands having no output. In below text file. bash-3.2$ cat abc_do_it.txt grpg10so>show trunk group all status grpg11so>show trunk group all status grpg12so>show trunk group all status GCPKNYAIGT73IMO 1440 1345 0 0 94 0 0 INSERVICE 93% 0%... (4 Replies)
Discussion started by: Raza Ali
4 Replies

6. Shell Programming and Scripting

Sed Comparing Parenthesized Values In Previous Line To Current Line

I am trying to delete lines in archived Apache httpd logs Each line has the pattern: <ip-address> - - <date-time> <document-request-URL> <http-response> <size-of-req'd-doc> <referring-document-URL> This pattern is shown in the example of 6 lines from the log in the code box below. These 6... (1 Reply)
Discussion started by: Proteomist
1 Replies

7. Shell Programming and Scripting

Delete line with match and previous line quoting/escaping problem

Hi folks, I've list of LDAP records in this format: cat cmmac.export.tmp2 dn: deviceId=0a92746a54tbmd34b05758900131136a506,ou=devices,ou=customer,ou=nl,o=upc cmmac: 00:13:11:36:a5:06 dn: deviceId=0a92746a62pbms4662299650015961cfa23,ou=devices,ou=customer,ou=nl,o=upc cmmac:... (4 Replies)
Discussion started by: tomas.polak
4 Replies

8. Shell Programming and Scripting

sed: appending alternate line after previous line

Hi all, I have to append every alternate line after its previous line. For example if my file has following contents line 1: unix is an OS line 2: it is open source line 3: it supports shell programming line 4: we can write shell scripts Required output should be line1: unix is an OS it is... (4 Replies)
Discussion started by: rish_max
4 Replies

9. UNIX for Dummies Questions & Answers

return previous line for pattern match

Hi, Need some idea on file processing, I have file like below, Processing al sources ... ...No value found : CHECK. Completed comparing all sources. Comparing schedulers... Processing al targets ... ...No value found : From above I need to extract the line where "No value... (4 Replies)
Discussion started by: braindrain
4 Replies

10. Shell Programming and Scripting

Return status of all previous runs

hi, I set the crontab to execute script A every 5 minutes from 9:00 am to 4:00 pm everyday, now at 12:00am I want to run another script if and only if all the previous runs of script A return OK, can anyone tell me how it could be done? thank you very very much! (4 Replies)
Discussion started by: mpang_
4 Replies
Login or Register to Ask a Question