[linux] BASH postupne nacitanie suboru do premennej
Matej Pivoluska
pivoluska na matfyz.cz
Čtvrtek Červen 12 18:23:30 CEST 2003
Dňa Št 12. Jún 2003 18:03 roman f.v. napísal(a):
> Zdravim,
> potreboval by som radu od nejakeho bash codera.
>
> neviem najst ziadny prikaz pre bash ani externy prikaz,
> ktorym by som docielil nasledovne:
>
>
> bash script musi nacitavat riadok za riadkom z externeho suboru do
> premennej az kym nedojde na koniec suboru. ako to docielit?
>
> diky za radu
while read riadok; do
do_some_with $riadok
done <subor
a ak by si chcel nacitat riadok do viacerych premennych, tak to mozes docielit
takto:
(Skript predpoklada, ze v subore subor budu ulozene "meno priezvisko" na
kazdom riadku oddelene medzerou. Na vystup vrati prevratene
"priezvisko, meno")
while read meno priezvisko; do
echo "$priezvisko, $meno"
done <subor
No, este by sa asi patrilo dodat, ze oddelovac mozes nastavit cez premennu
IFS, napr. ak chces spracovavat /etc/passwd, tak sa hodi IFS=":". Ak nie je
dostatok vstupnych premennych, tak sa vsetko z konca riadku hodi do poslednej
premennej. (To je napr. aj 1. pripad, kedy je posl. a jedina premenna
$riadok, tak sa do nej ulozi vsetko.)
Papa,
mP
Další informace o konferenci linux