Bash Echo ligne par ligne TXT

Résolu/Fermé
GeRgOs - 22 juin 2010 à 15:43
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 22 juin 2010 à 16:37
Bonjour,



J'essaye de faire un echo ligne par ligne d'un txt avec le script linux suivant :

for xls in 'cat encours.txt'; do
echo mes fichirs sont $xls
done

Mon TXT contient plusieurs lignes :

juin2010.xls
juillet2010.xls
encours 2010.xls
travail encours.xls
encours 2010 encore.xls


etc ....

Mais lorsque je lance le script j'ai un resultat du style :

mes fichirs sont juin2010.xls
mes fichirs sont juillet2010.xls
mes fichirs sont encours
mes fichirs sont 2010.xls
mes fichirs sont travail
mes fichirs sont encours.xls
mes fichirs sont encours
mes fichirs sont 2010
mes fichirs sont encore.xls


Il me met chaques mots à la ligne alors que j'aimerais qu'il me donne chaque ligne sans coupé , j'aimerais qu'il me sortent :

mes fichirs sont juin2010.xls
mes fichirs sont juillet2010.xls
mes fichirs sont encours 2010.xls
mes fichirs sont travail encours.xls
mes fichirs sont encours 2010 encore.xls


Merci

GreG

2 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
22 juin 2010 à 16:03
Salut,

while read ligne
do
echo "mes fichiers sont $ligne"
done < encours.txt

0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
22 juin 2010 à 16:37
hello
$ IFS=$(echo -en "\n\b") ; for xls in $(cat encours.txt); do echo mes fichirs sont $xls; done
mes fichirs sont juin2010.xls
mes fichirs sont juillet2010.xls
mes fichirs sont encours 2010.xls
mes fichirs sont travail encours.xls
mes fichirs sont encours 2010 encore.xls
$ 
0