Eliminate consecutive lines with the same pattern


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Eliminate consecutive lines with the same pattern
# 1  
Old 09-16-2014
Eliminate consecutive lines with the same pattern

Hi,

I would like to know how to remove lines which has the same pattern as the next line through sed/awk.

Code:
Stream 39 (wan stream 7)
Stream 40 (wan stream 8)
             WINQ Counter           115955              1           1613
                   (BYTE)         11204787            163          58087
Stream 41 (wan stream 9)
Stream 42 (wan stream 10)
Stream 43 (wan stream 11)
Stream 44 (wan stream 12)
             WINQ Counter           115716              1           2014
                   (BYTE)         11251903            105          72510
Stream 45 (wan stream 13)
Stream 46 (wan stream 14)

I need to display only,

Code:
Stream 40 (wan stream 8)
             WINQ Counter           115955              1           1613
                   (BYTE)         11204787            163          58087
Stream 44 (wan stream 12)
             WINQ Counter           115716              1           2014
                   (BYTE)         11251903            105          72510

Regards,
Saranya

Moderator's Comments:
Mod Comment edit by bakunin: first off, please open your own thread for your own problem. Second, you have read in the forum rules (you did read the forum rules, didn't you?) that you should use CODE-tags. Please do so!

Last edited by bakunin; 09-16-2014 at 05:46 AM..
# 2  
Old 09-16-2014
I think grep is better for this task.
Code:
grep -B1 -A1 WINQ file | grep -v ^--

The green part is optional, just in case you don't like the 2 hypen-minus which are separating the results.
--
If you want awk at any cost, this is my humble approach:
Code:
awk '!/WINQ/ {ll=$0} /WINQ/ {print ll;print} /BYTE/ {print}' file

# 3  
Old 09-16-2014
Specify your elimination criterion clearly as it isn't obvious from your post...
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

find pattern matches in consecutive lines in certain fields-awk

I have a text file with many thousands of lines, a small sample of which looks like this: InputFile:PS002,003 D -1 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 6 6 -1 -1 -1 -1 0 509 0 PS002,003 PSQ 0 1 7 18 1 0 -1 1 1 3 -1 -1 ... (5 Replies)
Discussion started by: jvoot
5 Replies

2. Shell Programming and Scripting

Grep three consecutive lines if each lines contains certain string

say we have : 2914 | REQUEST | whatever 2914 | RESPONSE | whatever 2914 | SUCCESS | whatever 2985 | RESPONSE | whatever 2986 | REQUEST | whatever 2990 | REQUEST | whatever 2985 | RESPONSE | whatever 2996 | REQUEST | whatever 2010 | SUCCESS | whatever 2013 | REQUEST | whatever 2013 |... (7 Replies)
Discussion started by: Saumitra Pandey
7 Replies

3. UNIX for Dummies Questions & Answers

Finding the same pattern in three consecutive lines in several files in a directory

I know how to search for a pattern/regular expression in many files that I have in a directory. For example, by doing this: grep -Ril "News/U.S." . I can find which files contain the pattern "News/U.S." in a directory. I am unable to accomplish about how to extend this code so that it can... (1 Reply)
Discussion started by: shoaibjameel123
1 Replies

4. Shell Programming and Scripting

sed : match one pattern then the next consecutive second pattern not working

Ive used this snippet of code on a solaris box thousands of times. But it isnt working on the new linux box sed -n '/interface LoopBack0/{N;/ ip address /p;}' *.conf its driving me nuts !! Is there something Im missing ? (7 Replies)
Discussion started by: popeye
7 Replies

5. Shell Programming and Scripting

Grep couple of consecutive lines if each lines contains certain string

Hello, I want to extract from a file like : 20120530025502914 | REQUEST | whatever 20120530025502968 | RESPONSE | whatever 20120530025502985 | RESPONSE | whatever 20120530025502996 | REQUEST | whatever 20120530025503013 | REQUEST | whatever 20120530025503045 | RESPONSE | whatever I want... (14 Replies)
Discussion started by: black_fender
14 Replies

6. Shell Programming and Scripting

How to insert line with between two consecutive lines that match special pattern?

I have following pattern in a file: 00:01:38 UTC abcd 00:01:48 UTC 00:01:58 UTC efgh 00:02:08 UTC 00:02:18 UTC and I need to change something like the following 00:01:38 UTC abcd 00:01:48 UTC XXXX 00:01:58 UTC efgh 00:02:08 UTC XXXX (6 Replies)
Discussion started by: jjnight
6 Replies

7. Shell Programming and Scripting

merging of 2 consecutive lines in a file for a specific pattern

Hi , I'm looking for a way to merge two lines only for a given pattern / condition. Input : abcd/dad + -49.201 2.09 -49.5 34 ewrew rewtre * fdsgfds/dsgf/sdfdsfasdd + -4.30 0.62 -49.5 45 sdfdsf cvbbv * sdfds/retret/asdsaddsa + ... (1 Reply)
Discussion started by: novice_man
1 Replies

8. UNIX Desktop Questions & Answers

How to concatenate consecutive lines

I have a few lines like -- feature 1, subfeat 0, type 3, subtype 1, value 0, -- feature 1, subfeat 0, type 1, subtype 1, value 0, I would like to concatenate the... (1 Reply)
Discussion started by: shivi707
1 Replies

9. UNIX for Dummies Questions & Answers

How to eliminate wrapped lines

I have a file abc: line 1 line 2 line 3 line 4 And I am successfully e-mailing the file, with this: mail -s "contents of abc" jdoe@email.com <<EOF cat abc EOF But the e-mail shows up looking like this: subject: contents of abc line 1 line 2 line 3 line 4 The carriage returns... (5 Replies)
Discussion started by: tumblez
5 Replies

10. UNIX for Dummies Questions & Answers

Eliminate blank lines...

Hi All, How can I eliminate the blank lines from a file. For e.g. File1 contains ABCD EFGH ZZZZ HJHH KJKJ IUYU I need the file to be as follows.... ABCD EFGH (4 Replies)
Discussion started by: shashi_kiran_v
4 Replies
Login or Register to Ask a Question