[mattr@taygeta mattr]$ time perl -e ' $max=100000; $c=0; open(OUT,">codes"); open (IN,"cat /dev/audio | xxd -u -ps -c 5 |cut -b 1-9 |"); while () { $l++; if(!exists($h{$_})) { $h{$_}=1; $c++; chomp; print "$c\n" unless $c%100; } if ($c>$max) { print "$l lines $c uniques found\n"; close(IN); foreach (keys %h) {print OUT "$_";} close(OUT); exit;} }' ... 99800 99900 100000 107849 lines 100001 uniques found real 0m18.977s user 0m3.720s sys 0m0.190s #### File "codes" contains stuff like (actual data): C5FF33FF3 FF2F0082F FFE2FE5AF 6800EF004 99FF35006 20003101A F3FF7DFFC FF14FF46F