novice2015 has asked for the wisdom of the Perl Monks concerning the following question:
I'd like it to identify the duplicated line (/vol/filelist,INVENTORY) and print out this last line (which would correspond to the #161400 in the first column. This is what I have so far:161248,/vol/filelist,CABINET 161200,/vol/filelist,INVENTORY 161400,/vol/filelist,INVENTORY
This doesn't work. I can get it to work somewhat if I leave:open my $FH2, '<', '/tmp/fileread' or die "unable to open file 'file' +for reading : $!"; open my $FH6, '>', '/tmp/tst.txt' or die "unable to open file 'file' f +or reading : $!"; my %duplicates; while (<$FH2>) { chomp; my ($column_1, $column_2, $column_3) = split /,/; print {$FH6} "$column_1\n" if defined $duplicates{$column_2} && + $duplicates{$column_3}; $duplicates{$column_2}++; } close $FH6; close $FH2; open my $fh, '<', '/tmp/tst.txt' or die "unable to open file 'file' fo +r reading : $!"; while (my $line = <$fh>) { print $line; } close $fh;
my ($column_1, $column_2) = split /,/; print {$FH6} "$column_1\n" if defined duplicates{$column_2}; $duplicates{$column_2}++; But this only causes the last 2 lines of the file to be deleted, and I + want the last line deleted because on the last line both columns 2 a +nd 3 are the same. So what I am really looking for is to print the # in the first column +which corresponds to both column 2 and 3 being the same. 161248,/vol/filelist,CABINET 161200,/vol/filelist,INVENTORY 161400,/vol/filelist,INVENTORY In the last line, column 2 (/vol/filelis) and column3 (INVENTORY) are +the same. Does anyone have a suggestion?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: printing the first column when both columns 2 and 3 are the same
by BillKSmith (Monsignor) on Jun 27, 2016 at 16:17 UTC | |
by novice2015 (Acolyte) on Jun 27, 2016 at 17:53 UTC | |
|
Re: printing the first column when both columns 2 and 3 are the same
by talexb (Chancellor) on Jun 27, 2016 at 16:25 UTC | |
|
Re: printing the first column when both columns 2 and 3 are the same
by kennethk (Abbot) on Jun 27, 2016 at 16:19 UTC |