2004-05-26, 19:41(+00), Raslebol des patches Windoze: [...]
while read ligne do echo $ligne done < MON_FICHIER
Il ne manquerait pas quelques ";" ????
Non, par contre, il manque des « " », des "-r" des IFS= et la relecture de la page de man de "echo" pour prendre conscience que cette commande ne peut pas etre utilisee pour afficher le contenu d'une variable puisqu'elle interprete les sequences d'echappement (sans compter ceux qui acceptent des options).
Et il faudrait aussi noter que les commandes a l'interieur de la boucle ont leur entree standard redirigee depuis MON_FICHIER, ce qui n'est pas un probleme pour "echo" mais pourrait l'etre pour une autre commande.
Ce genre de boucle est a utiliser avec parcimonie. Mieux vaut utiliser awk ou perl si on doit faire des traitements compliqués sur les lignes d'un fichier (et cut, paste, sed si on doit faire des traitements plus simples).
while IFS= read <&3 -r line; do printf '%sn' "$line" done 3< MON_FICHIER
-- Stephane
2004-05-26, 19:41(+00), Raslebol des patches Windoze:
[...]
while read ligne
do
echo $ligne
done < MON_FICHIER
Il ne manquerait pas quelques ";" ????
Non, par contre, il manque des « " », des "-r" des IFS= et la
relecture de la page de man de "echo" pour prendre conscience
que cette commande ne peut pas etre utilisee pour afficher le
contenu d'une variable puisqu'elle interprete les sequences
d'echappement (sans compter ceux qui acceptent des options).
Et il faudrait aussi noter que les commandes a l'interieur de la
boucle ont leur entree standard redirigee depuis MON_FICHIER, ce
qui n'est pas un probleme pour "echo" mais pourrait l'etre pour
une autre commande.
Ce genre de boucle est a utiliser avec parcimonie. Mieux vaut
utiliser awk ou perl si on doit faire des traitements compliqués
sur les lignes d'un fichier (et cut, paste, sed si on doit faire
des traitements plus simples).
while IFS= read <&3 -r line; do
printf '%sn' "$line"
done 3< MON_FICHIER
2004-05-26, 19:41(+00), Raslebol des patches Windoze: [...]
while read ligne do echo $ligne done < MON_FICHIER
Il ne manquerait pas quelques ";" ????
Non, par contre, il manque des « " », des "-r" des IFS= et la relecture de la page de man de "echo" pour prendre conscience que cette commande ne peut pas etre utilisee pour afficher le contenu d'une variable puisqu'elle interprete les sequences d'echappement (sans compter ceux qui acceptent des options).
Et il faudrait aussi noter que les commandes a l'interieur de la boucle ont leur entree standard redirigee depuis MON_FICHIER, ce qui n'est pas un probleme pour "echo" mais pourrait l'etre pour une autre commande.
Ce genre de boucle est a utiliser avec parcimonie. Mieux vaut utiliser awk ou perl si on doit faire des traitements compliqués sur les lignes d'un fichier (et cut, paste, sed si on doit faire des traitements plus simples).
while IFS= read <&3 -r line; do printf '%sn' "$line" done 3< MON_FICHIER