[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