Print Lines between two regexes


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Print Lines between two regexes
# 1  
Old 01-10-2012
Print Lines between two regexes

Hi I have a file like this

Quote:
SQ kkk m99029 wwwAV
qqqq aaaa 111
sssss qqq 222
ffff gggg 22254
//
AS
DS
SQ ooo l9909 qqqqa
aaa ssss 333
222 aaas hhh
//
I need to delete all the lines between SQ and // and not the lines containing them.

So the desired output should be

Quote:
SQ kkk m99029 wwwAV
//
AS
DS
SQooo l9909 qqqqa
//
I tried by using flip-flop operator
Code:
perl -wlne 'print if !(/SQ/../\/\//)'

But its not printing the lines containing regexes.

Thanks in advanceSmilie
# 2  
Old 01-10-2012
Hi polsum,

Try (using flip-flop in perl):
Code:
$ perl -wlne 'if ( $c = (m|SQ|..m|//|) ) { next unless $c == 1 || $c =~ m/E0$/ } print' infile
SQ kkk m99029 wwwAV
//
AS
DS
SQ ooo l9909 qqqqa
//

Regards,
Birei
This User Gave Thanks to birei For This Post:
# 3  
Old 01-10-2012
another way using awk:

Code:
awk '/SQ/ { P=1; print }; /\/\// { P=0; print }; !P' filename

This User Gave Thanks to Corona688 For This Post:
# 4  
Old 01-11-2012
Thank you very much guys. Both are working great.
# 5  
Old 01-11-2012
Quote:
Originally Posted by Corona688
another way using awk:

Code:
awk '/SQ/ { P=1; print }; /\/\// { P=0; print }; !P' filename


I think the second print is an extra one see o/p below , you need to remove it.

o/p
Code:
SQ kkk m99029 wwwAV
//
//
AS
DS
SQ ooo l9909 qqqqa
//
//

Code:
nawk '/SQ/ { P=1;print}; /\/\// { P=0}; !P' filename

o/p:
Code:
SQ kkk m99029 wwwAV
//
AS
DS
SQ ooo l9909 qqqqa
//

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

How to print lines from a files with specific start and end patterns and pick only the last lines?

Hi, I need to print lines which are matching with start pattern "SELECT" and END PATTERN ";" and only select the last "select" statement including the ";" . I have attached sample input file and the desired input should be as: INPUT FORMAT: SELECT ABCD, DEFGH, DFGHJ, JKLMN, AXCVB,... (5 Replies)
Discussion started by: nani2019
5 Replies

2. UNIX for Beginners Questions & Answers

Print number of lines for files in directory, also print number of unique lines

I have a directory of files, I can show the number of lines in each file and order them from lowest to highest with: wc -l *|sort 15263 Image.txt 16401 reference.txt 40459 richtexteditor.txt How can I also print the number of unique lines in each file? 15263 1401 Image.txt 16401... (15 Replies)
Discussion started by: spacegoose
15 Replies

3. Shell Programming and Scripting

Regexes for three column data to create a dictionary

I am working on a multilingual dictionary and I have data in three columns. The data structure can be word=word=gloss or word word=word word=gloss gloss = acts as a delimiter The number of words separated by the delimiter can be up to 8 or 10. The structure is well defined in the sense... (6 Replies)
Discussion started by: gimley
6 Replies

4. UNIX for Dummies Questions & Answers

awk - (URGENT!) Print lines sort and move lines if match found

URGENT HELP IS NEEDED!! I am looking to move matching lines (01 - 07) from File1 and 77 tab the matching string from File2, to File3.txt. I am almost done but - Currently, script is not printing lines to File3.txt in order. - Also the matching lines are not moving out of File1.txt ... (1 Reply)
Discussion started by: High-T
1 Replies

5. Shell Programming and Scripting

Print n lines from top and n lines from bottom of all files with .log extenstion

Oracle Linux 6.4 In a directory I have more than 300 files with the extension .log I want the first 5 and last 5 lines of these .log files to be printed on screen with each file's name. Expected output : Printing first 5 and last 5 lines of FX_WT_Feb8_2014.log !! Authentication... (7 Replies)
Discussion started by: kraljic
7 Replies

6. UNIX for Dummies Questions & Answers

What's the Diff Between These Two Regexes?

Trying to understand what's happening here, but I cannot figure it out. I'm reading Mastering Regular Expressions, by Friedl, and he uses this as an example of how to grab quoted text: egrep -o '"*"' ~/File.txt ...should pull in any quoted phrases. Match a literal double-quote, match anything... (11 Replies)
Discussion started by: sudon't
11 Replies

7. Shell Programming and Scripting

Print lines between two lines after grep for a text string

I have several very large file that are extracts from Oracle tables. These files are formatted in XML type syntax with multiple entries like: <ROW> some information more information </ROW> I want to grep for some words, then print all lines between <ROW> AND </ROW>. Can this be done with AWK?... (7 Replies)
Discussion started by: jbruce
7 Replies

8. Shell Programming and Scripting

print first few lines, then apply regex on a specific column to print results.

abc.dat tty cpu tin tout us sy wt id 0 0 7 3 19 71 extended device statistics r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device 0.0 133.2 0.0 682.9 0.0 1.0 0.0 7.2 0 79 c1t0d0 0.2 180.4 0.1 5471.2 3.0 2.8 16.4 15.6 15 52 aaaaaa1-xx I want to skip first 5 line... (4 Replies)
Discussion started by: kchinnam
4 Replies

9. Shell Programming and Scripting

print lines AFTER lines cointaining a regexp (or print every first and fourth line)

Hi all, This should be very easy but I can't figure it out... I have a file that looks like this: @SRR057408.1 FW8Y5CK02R652T length=34 AGCAGTGGTATCAACGCAGAGTAAGCAGTGGTAT +SRR057408.1 FW8Y5CK02R652T length=34 FIIHFF6666?=:88@@@BBD:::?@ABBAAA>8 @SRR057408.2 FW8Y5CK02TBMHV length=52... (1 Reply)
Discussion started by: kmkocot
1 Replies

10. Shell Programming and Scripting

AIX equivalent to GNU grep's -B and -A [print lines after or before matching lines]

Hi folks I am not allowed to install GNU grep on AIX. Here my code excerpt: grep_fatal () { /usr/sfw/bin/gegrep -B4 -A2 "FATAL|QUEUE|SIGHUP" } Howto the same on AIX based machine? from manual GNU grep ‘--after-context=num’ Print num lines of trailing context after... (4 Replies)
Discussion started by: slashdotweenie
4 Replies
Login or Register to Ask a Question