Portál AbcLinuxu, 10. května 2025 07:58
while read line; do bash vytvor_vfk_karto.sh $line $2 echo $line done < schemata.confna a ja bych prave potreboval, aby se to line rozdelilo na dve pulky, tj neco jako:
while read line; do echo $prvni_pulka_lajny echo ---------------------------------- echo $druha_pulka_lajny done < nejaky_lajnyde to nejak jednoduse udelat bez sedu, awk a rozdeleni do vice souboru (jeden se smyckou, druhej s tim obsahem a treti s tema lajnama)???
Řešení dotazu:
while read line; do ONE=$(cut -d' ' -f1 <<< $line) TWO=$(cut -d' ' -f2 <<< $line) echo $ONE : $TWO done < schemata.confNebo se da vyuzit regularnich vyrazu zabudovanych v bashi:
while read line; do if [[ $line =~ (.*)\ (.*) ]]; then ONE=${BASH_REMATCH[1]} TWO=${BASH_REMATCH[2]} echo $ONE : $TWO fi done < schemata.confJenom bacha, pokud je v tom radku vic mezer, prvni priklad zabere na prvni mezeru, druhy na posledni.
while read prvni_slovo zbytek_lajny; do echo $prvni_slovo echo $zbytek_lajny done < schemata.conf
function f { echo $1 echo $2 } while read line; do f $line done < schemata.conf
awk '{system("prikaz " $1 " " $2)}' < schemata.conf
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.