a = ( egrep -v '^(#|*$|[\s]*\n)' fichier_texte | cut -d"," -f 1 ) b = ( egrep -v '^(#|*$|[\s]*\n)' fichier_texte | cut -d"," -f2 ) for ia in ${a[@]}; do qqch_avec_ia; done for ib in ${b[@]}; do qqch_d_autre_avec_ib; done...
a=( egrep -v '^(#|*$|[\s]*\n)' fichier_texte | cut -d"," -f 1 ) b=( egrep -v '^(#|*$|[\s]*\n)' fichier_texte | cut -d"," -f2 ) n=$(wc -l fichier_texte) # ou ${#a[@]} si il est certain qu'il y aura toujours autant de a que de b (?) c=0 while [ $c -le $n ]; do funct() arg1=${a[$c]} arg2=${b[$c]} let "c +=1" doneJ'ai raté quelquechose ?
[...] done < mon_fichier_texte
[ -z "$ligne" ] && breakCitation
davidovitcz
if [ "$ligne" = "" ]; then break; fi
Citation
davidovitcz
cat mon_fichier_text | while true
do
read ligne
if [ "$ligne" = "" ]; then break; fi
table_name=`echo $ligne| cut -d "," -f 1`
table_type=`echo $ligne| cut -d "," -f 2`
ma_fonction -arg1 $table_name -f $table_name -arg2 $table_type;
done
Citation
Иван
un petit commentaire sur `exec
3<mon_fichier_text[...]`???
Citation
Иван
Ô, c'est beau, Sve@r !
un petit commentaire sur `exec
3<mon_fichier_text[...]`???
#!/bin/sh exec 3>&1 ls | tee /proc/self/fd/3 | wc -l
Citation
oudoubah
Par contre, pourquoi ne pas faire directement (mis
à part pour l'apprentissage):
while read line ; do
...
done < fichier_texte
#!/bin/sh exec 3<fic1 exec 4<fic2 exec 5<fic3 while true do read lig1 0<&3 read lig2 0<&4 read lig3 0<&5 test -z "$lig1" -o -z "$lig2" -o -z "$lig3" && break echo "$lig1" echo "$lig2" echo "$lig3" done