Posted By: JiMo (I'm flyiiiiiiing!!!!!!!!!) on 'CZunix'
Title:     pocitani vyskytu - awk
Date:      Mon Apr 13 11:22:45 2015

Ahoj lidi,
mam nasledujici libustku: velikansky soubor dat, desitky milionu radku, 
kde se (znacne) opakuji hodnoty, a tech unikatnich hodnot neni az tak moc 
(rekneme do tisice, vetsinou dokonce jen desitky).

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}'


Piece of cake. :) 

 
jimo:)
                  [ A project manager is a person who thinks
                    nine women can deliver a baby in one month. ]

Search the boards