[linux] BASH postupne nacitanie suboru do premennej

Andrej Hosna Andrej.Hosna na iblsoft.com
Pátek Červen 13 09:57:29 CEST 2003


> a o co ti teda slo?
skus si  ...
#!/bin/bash
i=0
cat subor | while read l; do
	i=$(($i+1))
done
echo $i 

islo o to ze clovek vacsinou potrebuje nieco sofistikovanejsie ako cat subor, 
uz len napriklad  grep "moj string" subor a xces spocitat pocet riadkov 
obsahujucich "moj string" (len mi prosim ta nepis grep "moj string" | wc -l).
Okrem toho totizto sa mozes rozhodnut nieco ine robit s $l.
Vsetko co som tym xcel povedat bolo ze niekedy sa konstrukcii for nevyhnes.

> ale samozrejme ze nemusis! mozes to urobit cez while, presmerovat zo suboru
> alebo rurou z toho programu.
a prave ze (ved si to skus)

> a NIC sa zbytocne forkovat nebude (ak ten program nebude 'cat subor').
> jedine co bude v drvivej vacsine pripadov naozaj zbytocne neeefektivnem
> bude cyklus for premenna in `program` a preto by sa tomu mal kazdy
> vyvarovat ak nema naozaj dobry dovod tuto konstrukciu pouzit.
To je pravda. v pripade ze nepotrebujes vnutri cyklu modifikovat premennu 
definovanu mimo tela je lepsie pouzit commmand | while read
Adino
-- 
Andrej HOSNA (Andrej.Hosna na iblsoft.com) 
IBL Software Engineering, http://www.iblsoft.com 
Stare Zahrady 35, 82105 Bratislava, Slovakia 
Tel: +421-2-43427449, fax: +421-2-43427214




Další informace o konferenci linux