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