#!/usr/bin/perl -w use strict; my $dir = "."; (scalar @ARGV) and $dir = $ARGV[0]; open(PIPE, "cksum $dir/* | sort -n |") or die "$!\n"; my @data = (); close(PIPE); my $first_match = 1; my (@prev, @cur); my $line; for (my $i = 0; $i < 79; $i++) {$line .= "-"}; foreach my $r (@data) { chomp $r; if (! @prev) { @prev = split(/ +/, $r); } else { @cur = split(/ +/, $r); if (($cur[0] == $prev[0]) && ($cur[1] == $prev[1])) { $first_match and printf "%13s%10s %s\n", $prev[0], $prev[1], $prev[2]; printf "%13s%10s %s\n", $cur[0], $cur[1], $cur[2]; $first_match = 0; } else { (! $first_match) and print "$line\n"; @prev = @cur; $first_match = 1; } } } .