bash: for na radkem s mezerami

Jan Kasprzak kas na fi.muni.cz
Čtvrtek Červen 2 12:53:02 CEST 2005


Jaroslav Prodelal wrote:
: Pokud mam nejaky soubor, kde jsou radky oddelene bilymi znaky, nemuzu
: pouzit v cyklu for, protoze mi to pak bere ty casti souboru a ja
: potrebuju cely radek.
: 
: Napr.:
: 
: for LINE in `cat /var/log/nejaky.log | grep -v "DEBUG"`; do
: 	echo $LINE #a tady chci mit cely radek
: done

A cenu za zbytecne pouziti programu cat(1) pro tento tyden ziskava ...
:-)

	Melo by byt mozne modifikovat IFS nejak jako

OLDIFS="$IFS"
IFS="
" for LINE in `grep -v DEBUG /var/log/nejaky.log`; do
	IFS="$OLDIFS"
	...
done

(do toho IFS dat jen prazdny radek). Nebo take vyuzit prikaz read
v cyklu while:

grep -v DEBUG /var/log/nejaky.log | while read line
	echo "$LINE"
done

	Hope this helps,

-Y.

-- 
| Jan "Yenya" Kasprzak  <kas at {fi.muni.cz - work | yenya.net - private}> |
| GPG: ID 1024/D3498839      Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E |
| http://www.fi.muni.cz/~kas/   Czech Linux Homepage: http://www.linux.cz/ |
-- Yes. CVS is much denser.                                               --
-- CVS is also total crap. So your point is?             --Linus Torvalds --


Další informace o konferenci Linux