Bash Echo ligne par ligne TXT

Résolu
GeRgOs -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

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

    0
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    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