perl -ne 'chomp; $uniq{$_}++; END{print $_ . " => " . $uniq{$_} . "\n" for keys %uniq}' #### perl -lne '$uniq{$_}++; END{print $_ . " => " . $uniq{$_} for keys %uniq}' #### awk -vN=1 '{if($N in uniq){uniq[$N]++}else{uniq[$N]++}}END{for(k in uniq){print k," => ",uniq[k]}}' #### /* reads whole lines from stdin and counts how many times each was repeated, overall and NOT "adjacently" by bliako, 25.06.2019 for https://perlmonks.org/?displaytype=edit;node_id=11101856 g++ -O puniq.cpp -o puniq */ #include #include using namespace std; int main(void){ unordered_map uniq; string aline; while(getline(cin, aline)){ if( uniq.count(aline) == 0 ) uniq[aline] = 1; else uniq[aline]++; } for(unordered_map::iterator itr=uniq.begin();itr!=uniq.end();itr++){ cout << itr->first << " => " << itr->second << endl; } } #### Ncols=95 Nthreads=4 for acol in $(seq 1 ${Ncols}); do echo "awk -vN=${acol} '"'{if($N in uniq){uniq[$N]++}else{uniq[$N]++}}END{for(k in uniq){print k," => ",uniq[k]}}'"' my_big_file > column${acol}.uniq" > tmpscript${acol}.sh echo doing column $acol sem -j${Nthreads} sh tmpscript${acol}.sh done