Remove duplicate line on condition


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Remove duplicate line on condition
# 22  
Old 04-02-2012
My main thing to do is to separate occurrences of 0 1 2 or 3 and when there has been a change from that value to another.
So for the case
Code:
10 bla bla 3
15 bla bla 3
71 bla bla 3
75 bla bla 3
79 bla bla 1

3 has occurred at 10, there are some duplicates in between which still show it at 3, the actual change from 3 is at 79 to 1. So I want it to be
Code:
10 bla bla 3
79 bla bla 1

and similarly for other cases as well.

Is this ok?
Thanks!

---------- Post updated at 10:50 AM ---------- Previous update was at 10:37 AM ----------

Quote:
Originally Posted by Scrutinizer
Code:
awk '{$1=$1} m==$2 FS $3 FS $4{p=x;next}p{print p};{p=$0;m=$2 FS $3 FS $4}END{if(p)print p}' infile

produces
Code:
1 bla bla 0
6 bla bla 2
79 bla bla 1
83 bla bla 2
86 bla bla 3
135 bla bla 1
187 bla bla 0

But it seems your requirements have changed?
For this code, it misses the initial start of 3 which is at 10.

if I were to run for 0 1 2 and 3 together, the expected output is something like this-

Code:
1 bla bla 0
6 bla bla 2
10 bla bla 3
79 bla bla 1
83 bla bla 2
86 bla bla 3
90 bla bla 2
135 bla bla 1
187 bla bla 0

From this I think I can take out what I need.
# 23  
Old 04-02-2012
Do you mean like this, then?
Code:
awk 'p!=$2 FS $3 FS $4 {print; p=$2 FS $3 FS $4}' infile

or
Code:
awk 'p!=$2FS$3FS$4 && p=$2FS$3FS$4' infile


Last edited by Scrutinizer; 04-02-2012 at 06:04 AM..
# 24  
Old 04-02-2012
Quote:
Originally Posted by Scrutinizer
Do you mean like this, then?
Code:
awk 'p!=$2 FS $3 FS $4 {print; p=$2 FS $3 FS $4}' infile

or
Code:
awk 'p!=$2FS$3FS$4 && p=$2FS$3FS$4' infile

These two work perfectly. I tried it on with all the other scripts. Perfect!

Thanks all for your patience and support Smilie Smilie Thanks a lot. u guys rock!

Last edited by jamie_123; 04-02-2012 at 06:25 AM.. Reason: mistake.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Remove sections based on duplicate first line

Hi, I have a file with many sections in it. Each section is separated by a blank line. The first line of each section would determine if the section is duplicate or not. if the section is duplicate then remove the entire section from the file. below is the example of input and output.... (5 Replies)
Discussion started by: ahmedwaseem2000
5 Replies

2. Shell Programming and Scripting

Remove duplicate values with condition

Hi Gents, Please can you help me to get the desired output . In the first column I have some duplicate records, The condition is that all need to reject the duplicate record keeping the last occurrence. But the condition is. If the last occurrence is equal to value 14 or 98 in column 3 and... (2 Replies)
Discussion started by: jiam912
2 Replies

3. Shell Programming and Scripting

Remove duplicate line starting with a pattern

HI, I have the below input file /* ----------------- cmdsDlyStartFWJ -----------------*/ UNIX_JOB CMDS065J RUN ANY CMDNAME sleep 5 AGENT CMDSHP USER proddata RUN MON,TUE,WED,THU,FRI DELAYSUB 02:00 /* "Triggers daily file watcher jobs" */ ENVAR... (5 Replies)
Discussion started by: varun22486
5 Replies

4. Shell Programming and Scripting

Remove duplicate entries from the same line

Hello, I have a file which have several duplicate entries on the same line: File ID source 1 GM GF GM 2 GM GF GM GF GM GF GM GF GM GF 3 GM GF GM SF GM GF GM SF 4 FF FF FF FF 5 FF GM FF ... (2 Replies)
Discussion started by: nans
2 Replies

5. UNIX for Dummies Questions & Answers

Remove Duplicate Two Line Pairs?

So I have a bunch of files that look like this >gi|33332323 MMKCRGVIMVVEKVMKRDGRIVPFDESRIRWAVQ--- >gi|45235353 MMKCR----VEKMRDVFFDESIRWAVQ They go on...sequences are much longer but all in two line (fasta) format. I want to remove duplicate pairs of ID(GI) number and sequence. I tried... (12 Replies)
Discussion started by: bakere19
12 Replies

6. Shell Programming and Scripting

remove duplicate lines with condition

hi to all Does anyone know if there's a way to remove duplicate lines which we consider the same only if they have the first and the second column the same? For example I have : us2333 bbb 5 us2333 bbb 3 us2333 bbb 2 and I want to get us2333 bbb 10 The thing is I cannot... (2 Replies)
Discussion started by: vlm
2 Replies

7. Shell Programming and Scripting

remove of duplicate line from a file

I have a file a.txt having content like deepak ram sham deepram sita kumar I Want to delete the first line containing "deep" ... I tried using... grep -i 'deep' a.txt It gives me 2 rows...I want to delete the first one.. + need to know the command to delete the line from... (5 Replies)
Discussion started by: saluja.deepak
5 Replies

8. Shell Programming and Scripting

remove duplicate words in a line

Hi, Please help! I have a file having duplicate words in some line and I want to remove the duplicate words. The order of the words in the output file doesn't matter. INPUT_FILE pink_kite red_pen ball pink_kite ball yellow_flower white no white no cloud nine_pen pink cloud pink nine_pen... (6 Replies)
Discussion started by: sam_2921
6 Replies

9. UNIX for Dummies Questions & Answers

Remove duplicate entry in one line

Can anyone help me how can i print only the unique entry in a line? MI_AP MI_AP MI_CM MI_MF RC_NAP MBS_AP SF_RAN MBS_AP NT_CAR so that it will on output the one unique entry per line. MI_AP MI_CM MI_MF RC_NAP MBS_AP SF_RAN NT_CAR I can't find the same situation on the knowledge... (5 Replies)
Discussion started by: kharen11
5 Replies

10. UNIX for Dummies Questions & Answers

Remove Duplicate line

Hi, I have a scenario here where I have created a flatfile with the below mentioned information. File as you can see is dispalyed in three columns 1st column is FileNameString 2nd column is Report_Name (this has spaces) 3rd column is Flag Result file needed is, removal of duplicate... (1 Reply)
Discussion started by: Student37
1 Replies
Login or Register to Ask a Question