Regularni vyrazy
Pavel Kankovsky
peak na argo.troja.mff.cuni.cz
Úterý Říjen 19 16:28:56 CEST 1999
On Tue, 19 Oct 1999, Michal TALMAN wrote:
> 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.
--Pavel Kankovsky aka Peak [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."
Další informace o konferenci Linux