Regularni vyrazy

Michal Roškaňuk Michal.Roskanuk na merlin.cz
Úterý Říjen 19 17:02:28 CEST 1999


> > mam soubor takovehoto slozeni:
> > F000001/JOB.done: queued by nobody. 1 page(s) to 85,4974.
> > F000004/JOB.done: queued by root. 1 page(s) to 9.
> > F000005/JOB.done: queued by root. 1 page(s) to 9.
> > 
> > je to vypis odeslanych faxu. Potrebuji pomoci regularnich 
> vyrzu z toho odsek
> > at nektere udaje (stav faxu, uzivatele, pocet stram 
> telefoni cislo atd). Vim
> 
> Da se to udelat mnoha ruznymi zpusoby, ale jeden specialne kreativni
> je tento:
> 
> sed
>   's/^F\([0-9]*\)\/JOB\.\([a-z]*\): queued by \([a-z]*\)\.'\
>   '\([0-9]*\) page.*to \(.*\)\.$)/\1:\2:\3:\4:\5/' | \
> while IFS=':' read job status user pages phone
> do
> 	cokoli "$job" "$status" "$user" "$pages" "$phone"
> done
> 
> P.S. grepem by to asi neslo, protoze nevim o tom, jak by grep mohl
> rozdelit radek.

No ja bych asi pouzil awk/gawk, to je v podstate jeho parketa.

Mike Roskanuk


Další informace o konferenci Linux