Moin,
wenn es nicht unbedingt eigene Variablen pro Zeile sein sollen, kannst Du in der bash Arrays benutzen:
Code:
i=0
while read s k; do
sender[$i]=$s
kanal[$i]=$k
i=`expr $i + 1`
done <liste
Herausholen kannst Du die Daten dann wieder mit:
Code:
i=`expr $i - 1`
for c in `seq 0 $i`; do
echo ${sender[$c]} ${kanal[$c]}
done
Jan
EDIT: Eigene Variablen gehen natürlich auch, aber das ist deutlich unübersichtlicher und schlechter auszuwerten:
Code:
i=1
while read s k; do
eval sender`echo $i`=$s
eval kanal`echo $i`=$k
i=`expr $i + 1`
done <liste
Auswerten dann so:
Code:
i=`expr $i - 1`
for c in `seq 1 $i`; do
s=`eval echo $sender\`echo $c\``
k=`eval echo $kanal\`echo $c\``
echo $s $k
done
Das ist deshalb so umständlich, weil Du ja Variablennamen dynamisch erzeugen musst.
Lesezeichen