PERL "filtering the log file removing the duplicates


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting PERL "filtering the log file removing the duplicates
# 1  
Old 07-24-2013
PERL "filtering the log file removing the duplicates

Hi folks,

I have a log file in the below format and trying to get the output of the unique ones based on mnemonic IN PERL.

Could any one please let me know with the code and the logic ?

Code:
Severity   Mnemonic	              Log Message
7	CLI_SCHEDULER	         Logfile for scheduled CLI type1
5      UPTIME                       Line protocol on Interface TYPE3
7	CLI_SCHEDULER	         Logfile for scheduled CLI type2
7	CLI_SCHEDULER	         Logfile for scheduled CLI type4
5      UPTIME                       Line protocol on Interface TYPE1
4      INACTIVE_LOCAL	        Local interface Port-Channel2 is link down.type2
5      UPTIME                       Line protocol on Interface TYPE2
7	CLI_SCHEDULER	         Logfile for scheduled CLI type3
4      INACTIVE_LOCAL	        Local interface Port-Channel2 is link down type1 
4      INACTIVE_LOCAL	        Local interface Port-Channel2 is link down.type3
6	INTERFACE_STATE	 Interface Ethernet21 state1
6	INTERFACE_STATE	 Interface Ethernet21 state2
6       INTERFACE_DEL           Interface Down

Final output should be

Code:
Severity   Mnemonic	  occurrence             Log Message

7      CLI_SCHEDULER	    4         Logfile for scheduled CLI <type>
5      UPTIME                  2         Line protocol on Interface <type>
4      INACTIVE_LOCAL	    3         Local interface Channel2 is down.<type>
5      UPTIME                  1         Line protocol on Interface <type>
5      NEIGHBOR_NEW	    1         LLDP neighbor <type>
5      UPDOWN	            1         Line protocol on Interface.<type>
6      INTERFACE_STATE   2         Interface Ethernet21 state
6      INTERFACE_DEL       1         Interface Down


Thanks in advance .......
# 2  
Old 07-24-2013
This is a start, the first column is the occurrence:

Code:
perl -F"\t" -lane '$_ =~ s/(type|state|TYPE)[0-9]/<$1>/; $h{$_}++; END{while (($k, $v) = each %h){print "$h{$k}\t$k"}}' file

This User Gave Thanks to Subbeh For This Post:
# 3  
Old 07-24-2013
my tons o thanks Subbeh ... This is exactly what I require...

and also Could you please make the above to Perl program instead of perl one liner..

Thanks once again ..

---------- Post updated at 09:40 PM ---------- Previous update was at 11:03 AM ----------

Could anyone please help on this....

Thanks in advance....
# 4  
Old 07-26-2013
scriptscript, did you try to do it yourself? With a little bit of research on how to open files and how to use variables in perl you could do it yourself:

Code:
#!/usr/bin/perl

my (%h, $k, $v);

open(my $fh, '<', '/path/to/file') or die "Unable to open file, $!";
while (<$fh>) {
        $_ =~ s/(type|state|TYPE)[0-9]/<$1>/;
        $h{$_}++;
}
close($fh);

while (($k, $v) = each %h) {
        print "$h{$k}\t$k"
}

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Removing duplicates on a single "column" (delimited file)

Hello ! I'm quite new to linux but haven't found a script to do this task, unfortunately my knowledge is quite limited on shellscripts... Could you guys help me removing the duplicate lines of a file, based only on a single "column"? For example: M202034357;01/2008;J30RJ021;Ciclo 01... (4 Replies)
Discussion started by: Rufinofr
4 Replies

2. Shell Programming and Scripting

Removing duplicates from new file

i hav two files like i want to remove/delete all the duplicate lines in file2 which are viz unix,unix2,unix3.I have tried previous post also,but in that complete line must be similar.In this case i have to verify first column only regardless what is the content in succeeding columns. (3 Replies)
Discussion started by: sagar_1986
3 Replies

3. Shell Programming and Scripting

Removing duplicates from new file

i hav two files like i want to remove/delete all the duplicate lines in file2 which are viz unix,unix2,unix3 (2 Replies)
Discussion started by: sagar_1986
2 Replies

4. UNIX for Dummies Questions & Answers

Removing duplicates from a file

Hi All, I am merging files coming from 2 different systems ,while doing that I am getting duplicates entries in the merged file I,01,000131,764,2,4.00 I,01,000131,765,2,4.00 I,01,000131,772,2,4.00 I,01,000131,773,2,4.00 I,01,000168,762,2,2.00 I,01,000168,763,2,2.00... (5 Replies)
Discussion started by: Sri3001
5 Replies

5. Shell Programming and Scripting

formatting a file and removing duplicates

Hi, I have a file that I want to change the format of. It is a large file in rows but I want it to be comma separated (comma then a space). The current file looks like this: HI, Joe, Bob, Jack, Jack After I would want to remove any duplicates so it would look like this: HI, Joe,... (2 Replies)
Discussion started by: kylle345
2 Replies

6. Shell Programming and Scripting

Removing Duplicates from file

Hi Experts, Please check the following new requirement. I got data like the following in a file. FILE_HEADER 01cbbfde7898410| 3477945| home| 1 01cbc275d2c122| 3478234| WORK| 1 01cbbe4362743da| 3496386| Rich Spare| 1 01cbc275d2c122| 3478234| WORK| 1 This is pipe separated file with... (3 Replies)
Discussion started by: tinufarid
3 Replies

7. Shell Programming and Scripting

Removing duplicates from log file?

I have a log file with posts looking like this: -- Messages can be delivered by different systems at different times. The id number is used to sort out duplicate messages. What I need is to strip the arrival time from each post, sort posts by id number, and reattach arrival time to respective... (2 Replies)
Discussion started by: Ilja
2 Replies

8. UNIX for Dummies Questions & Answers

removing duplicates of a pattern from a file

hey all, I need some help. I have a text file with names in it. My target is that if a particular pattern exists in that file more than once..then i want to rename all the occurences of that pattern by alternate patterns.. for e.g if i have PATTERN occuring 5 times then i want to... (3 Replies)
Discussion started by: ashisharora
3 Replies

9. Shell Programming and Scripting

Removing duplicates in a sorted file by field.

I have data like this: It's sorted by the 2nd field (TID). envoy,90000000000000634600010001,04/11/2008,23:19:27,RB00266,0015,DETAIL,ERROR, envoy,90000000000000634600010001,04/12/2008,04:23:45,RB00266,0015,DETAIL,ERROR,... (1 Reply)
Discussion started by: kinksville
1 Replies

10. UNIX for Dummies Questions & Answers

removing duplicates from a file

i have a file with some 1000 entries it will contain entries like 1000,ram 2000,pankaj 1001,rahim 1000,ram 2532,govind 2000,pankaj 3000,venkat 2532,govind what i want is i want to extract only the distinct rows from this file so my output should contain only 1000,ram... (2 Replies)
Discussion started by: trichyselva
2 Replies
Login or Register to Ask a Question