sed searching across lines


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sed searching across lines
# 1  
Old 09-25-2006
sed searching across lines

hi,

i'm making now a bash script, that runs some compiler... i want to take only errors form its output eg:

output:
Code:
bla bla bla
...
erros is 1324546
the bla bla bla 

bla bla bla...
...

and i want to get only
Code:
erros is 1324546
the bla bla bla

i've managed to do something like this:
Code:
cat errors_file | sed -n "N;s/errors.*\n/&/P"

but i don't know how to do something like (.*\n)* how can this be done?
# 2  
Old 09-25-2006
Try this:
Code:
sed -n '/erros is/{N;p;}' errors_file

Jean-Pierre.
# 3  
Old 09-25-2006
this is not exactly what i want... becouse i don't know how many lines error will have... all i know it beigns with:"errors is" and ends with ^$

#edited

and can you explain what your command does? as i understand it it will print out the maching line and the one follwing it... but why this strange syntax? why do you do some {} at the end? where is s/?

Last edited by miechu; 09-25-2006 at 06:13 AM..
# 4  
Old 09-25-2006
Quote:
this is not exactly what i want... becouse i don't know how many lines error will have... all i know it beigns with:"errors is" and ends with ^$
In that case :
Code:
sed -n '/erros is/,/^$/p' errors_file

Quote:
and can you explain what your command does? as i understand it it will print out the maching line and the one follwing it... but why this strange syntax? why do you do some {} at the end? where is s/?
/error is/{ ... }
Select lines that contains 'erros is' and execute commands '...'
N;p
Append next line to current line and print the whole

Jean-Pierre.
# 5  
Old 09-25-2006
cooooooooool Smilie this is great Smilie can you explain me this command?

btw. big, big biiiiiiiiig thanks Smilie
# 6  
Old 09-25-2006
From sed man page :
Quote:
A command line with two addresses separated by commas selects the entire
range from the first line that matches the first address through the next
line that matches the second. (If the second address is a number less than
or equal to the line number first selected, only one line is selected.)
Thereafter, the process is repeated, looking again for the first address.
/erros is/,/^$/p
First line contains 'erros is' and last line is empty.


Jean-Pierre.
# 7  
Old 09-25-2006
ok, but what is this comma for? - stupid me... i didn't read the quote Smilie

#edited

and if i'd like to place # before each line that i find?

Last edited by miechu; 09-25-2006 at 06:50 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Searching for pattern and remove the lines

Hi , I want to remove the specific pattern and remove those lines from file using shell script. i want to remove these lines <?xml version='1.0' encoding='UTF-8'?> <row_set> </row_set> my input file has content like this. file name: sample.xml <?xml version='1.0'... (4 Replies)
Discussion started by: nukala_2
4 Replies

2. UNIX for Dummies Questions & Answers

Add lines after searching for a pattern

Hi, I have 2 files like below. File A: apple mango File B: start abc def apple ghi end start cba fed (4 Replies)
Discussion started by: jayadanabalan
4 Replies

3. Shell Programming and Scripting

Searching inverted lines

Hi fellas, I have a file like this: A_B B_D C_D D_B E_F G_H B_A F_E In other words, I have member1_member2 and member2_member1 in the same file. In the exemple aforementioned I have A_B and B_A, B_D and D_B, E_F and F_E. So, I would like to know a sript that print the lines B_A, D_B... (3 Replies)
Discussion started by: valente
3 Replies

4. Shell Programming and Scripting

Insert tags in lines after searching for a word

Hi, I am new to Unix and this is my first post on this forum. I am trying to convert a file into an xml. In my input I want to search for any line that starts with a 'F' and make it a tag in the xml. See below for the input and output. Input : <Payment> <REFERENCE>78</REFERENCE> F123 : ... (7 Replies)
Discussion started by: akashgov
7 Replies

5. Shell Programming and Scripting

Perl searching special words in lines

Hi , i am a new with perl, i want to made a script that find in file rows that start with specil words, as an example a line will start with" ............................................. specialword aaa=2 bbb=5 ............................................. and to put this in a new file... (3 Replies)
Discussion started by: alinalin
3 Replies

6. Shell Programming and Scripting

Searching for lines in textfiles

Hello all, I've a problem. I've two logfiles and i need to find lines in the second file by using information from the first file. First I need to extract a searchpattern from the first file. Its like abc=searchpattern&cde=. All between abc= and &cde= is the pattern I need to find in the second... (2 Replies)
Discussion started by: Avarion
2 Replies

7. Shell Programming and Scripting

Sed - Pattern Searching

Hi, Please take a look at the below eg. I would like to search for abc() pattern first and then search for (xyz) in the next line. If I can find the pattern, then I should delete the 3 lines. I can only find the pattern and delete but I am unable to find two patterns and delete. Any... (8 Replies)
Discussion started by: sreedevi
8 Replies

8. UNIX for Dummies Questions & Answers

Searching for lines in a file?

What is the best way to display lines in a log file that begin with a certain string? Preferably I would like to 'print' them to a file. I guess I would use 'cat' for that? There are two types of line I would like to get at - each begins with a different two words. It would be something... (8 Replies)
Discussion started by: Sepia
8 Replies

9. Shell Programming and Scripting

Searching for lines ending with }

I'm trying to search for lines ending with "}" with the following command but am not getting any output. grep '\}$' myFile.txt I actually want to negate this (i.e. lines not ending with "}"), but I guess that should be easier once I find the command that finds it? (11 Replies)
Discussion started by: BootComp
11 Replies

10. Shell Programming and Scripting

lines searching >>

hi guys! I`ll really appreciate your help. The situation is: i have a log file, and i need to get the needed lines from it. linecount=$(cat -n http.log | grep ALERT | awk '{print $1}' | wc -l) lines=$(cat -n http.log | grep ALERT | awk '{print $1}') 1-string gets the number of found lines... (2 Replies)
Discussion started by: neverhood
2 Replies
Login or Register to Ask a Question