![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Shell Vos questions sur l'utilisation des commandes shell |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) | ||
|
Hardware ![]() |
Bonjour,
je souhaite lire ce fichier ligne par ligne, seulement, ça foire Code :
for line in `cat TMP`
> do
> echo "[${line}]" >>TMP2
> done
Citation:
Citation:
__________________
~~~~~ Responsable Hardware. ~~~~~ Pour rejoindre l'équipe Hardware Installation de Code::Blocks sous Debian à partir de Nightly Builds![]() C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère |
||
|
|
|
|
|
#2 (permalink) |
|
Membre éprouvé
![]() Date d'inscription: février 2007
Messages: 451
|
ca serait pas à cause des idéogrammes?
__________________
La science est ce que nous comprenons suffisamment bien pour l'expliquer à un ordinateur. L'art, c'est tout ce que nous faisons d'autre. Donald E. Knuth |
|
|
|
|
|
#3 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: avril 2004
Âge: 29
Messages: 53
|
Les espaces dans le fichier provoque une nouvelle itération dans ton for.
En clair : supprime les espaces dans chaque lignes (ou sers-toi des dièses pour le changement de ligne)
__________________
First, they ignore you. Then, they laught at you.Then, they fight you. Then, you win. Mohandas Gandhi |
|
|
|
|
|
#4 (permalink) |
|
Hardware ![]() |
Non les idéogrammes n'y sont pour rien et je ne veux absolument pas supprimer les espaces, je veux lire le fichier ligne par ligne avec l'alignement et les espaces qu'il contient.
Apparemment, je me suis fourvoyé, la manière que j'utilise ne lit pas ligne par ligne mais mot par mot Des solutions?
__________________
~~~~~ Responsable Hardware. ~~~~~ Pour rejoindre l'équipe Hardware Installation de Code::Blocks sous Debian à partir de Nightly Builds![]() C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère |
|
|
|
|
|
#6 (permalink) |
|
Hardware ![]() |
![]() En fouinant j'ai trouvé une technique similaire : Code :
{ while read line
do
echo ${line}
done } < TMP
Comment se fait-il que while lit bien une ligne et for que les mots? Es-ce un comportement voulu?
__________________
~~~~~ Responsable Hardware. ~~~~~ Pour rejoindre l'équipe Hardware Installation de Code::Blocks sous Debian à partir de Nightly Builds![]() C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère |
|
|
|
|
|
#7 (permalink) | |
|
Membre chevronné
![]() Date d'inscription: juin 2008
Messages: 643
|
Citation:
si tu fais Code :
line="a b c" for zot in $line; do echo $zot; done pour traiter line comme un seul mot, il faudrait remettre des "" autour du style Code :
for zot in "$line"; do echo $zot; done PS: je ne sais pas faire avec `cat xyz` |
|
|
|
|
![]() |
![]() |
||
[ksh] Lecture d'un fichier unicode ligne par ligne
|
||
| Outils de la discussion | |
|
|