x12cat -ne 'print if /^PLB/' file.x12 # grep for PLB segments x12cat -ane '$amt{$F[1]} += $F[2] if /^AMT/; END{ print "$_: $amt{$_}" for sort {$amt{$b}<=>$amt{$a}} keys %amt }' file1.x12 file2.x12 ... # print sorted break down, by amount descending, of AMT code-types