awk - zjisteni cetnosti vzorku v souboru

Michal Dobes dobes na tesnet.cz
Čtvrtek Září 19 18:24:42 CEST 2002


Mošnička Roman wrote:
> mam soubor,kde co radek to casovy udaj. Nektere casy jsou tam 
> vicekrat. Ja bych potreboval ten soubor projit a do kazde radky k
> danemu casu poznamenat,kolikrat se v souboru vyskytuje. Kdyz to 
> budu aplikovat na jeden cas(jeden vzorek), tak mi to ukaze napr. 
> takto:
> 
> gawk  '/06:07/ { ++x ;} END { print $1,"Pocet " x }' log.txt 
> - najdu,kolikrat je v souboru log.txt radek s casem 06:07
> 
> Potreboval bych to ale pro vsechny casy,ktere se v souboru 
> log.txt vyskytuji - tudiz potrebuji jako vzorek pro awk vzdy 
> dosadit dalsi radek souboru log.txt. Zkousel jsem vsechny mozne 
> variace nasl. ukazky batche,ale bez nejakych uspechu. Urcite na 
> to jdu dost spatne. Muzete me prosim nekdo trochu nasmerovat, 
> nebo poradit.

Hm, ze by takto:
awk '/..:../{pole[$1]++}END{for(i in pole)printf"%s %d\n",i,pole[i]}'
log.txt

Budu se nekdy mset naucit perl, v tom to pujde urcite uzasne
zoptimalizovat. :-)

	Majkl


Další informace o konferenci Linux