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