Posted By: Tuttle (MamPoLetechJinyUsername!) on 'CZunix'
Title:     Re: pocitani vyskytu - awk
Date:      Tue Apr 14 10:31:27 2015

> Obcas potrebuju spocitat, kolik ceho tam je. Hodil by se mi tedy vypis typu 
> hodnota - count. Nejdriv jsem to bral fakt hrubou silou: 
> for i in `cat | cut | sort -u`; do cat | cut | grep | wc -l; done
> 
> To fungovalo u mensich souboru, u tech milionu a vice radek uz fakt ne. :)
> Samozrejme me opet zachranil awk, ktery to umi na "prvni dobrou", cili jeden
> prujezd bez jakekoli pajpy, tzn. rychlost o nekolik radu jinde. Pokud by
> tedy nekdo potreboval (hodnoty oddelene carkou a to, co me zajima, je 5.
> sloupec): 
> 
> awk -F, '{i[$5]++} END{for (j in i) print i[j], j}'

Pokud me nezajimaji ostatni sloupce, obycejne to resim takto:

cut -d, -f5 | sort | uniq -c | sort -n

Protoze je to casty idiom, mam v shellu definovane toto:

alias sus='sort | uniq -c | sort -n'

BTW, pokud je malo RAM, sort odklada do $TMPDIR. Pokud i tam hrozi, ze bude 
malo mista, lze pouzit parametr --compress-program=gzip nebo jiny kompresor.

T.

Search the boards