[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux] Une bonne âme pou r m'expliquer le fonctionnement de 'read' sous bash ?
Amis du Pingouin Bonswâr,
'read' me donne un peu de fil à retordre...
Je voudrais bien lancer un script sur des fichiers texte pour en formatter le
contenu autrement.
Ces fichiers contienent des adresses, sur quatres lignes comme ceci :
-----------------------
Monsieur B. \fsc{rol}\\
Architecte\\
Rue Machin 27\\
4820\hspace{1cm}DISON.
----------------------
Voici maintenant la partie du script (mettons 'brol') qui merdouille :
----------------------------------------------
num=1
address=$1
while read -r line
do
var${num}="$(echo $line | sed 's/\\\\//g')"
num=$((num+1))
done < $address
----------------------------------------------
Quand je l'exécute, ça me donne une sortie comme ça :
brol: var1=Monsieur B. \fsc{rol}: command not found
brol: var2=Architecte: command not found
brol: var3=Rue Machin 27: command not found
brol: var4=4820\hspace{1cm}DISON.: command not found
Donc, si je comprends bien, le shell prend le contenu de chaque ligne pour
une commande qu'il essaye d'exécuter, alors que je veux simplement placer
chaque ligne dans une variable pour en réutiliser le contenu après.
Qu'est-ce que je fais de travers ? Le while loop ne sait pas se contenter
d'affecter des variables sans vouloir exécuter qqch ?
100 x merci d'avance à celui qui amènera un peu de clarté dans ma chaumière :-)
--
J.-F. STRAETEN
---
Mutt 1.3.7i.
Powered by SuSE Linux 6.4
[ Soyez précis dans vos sujets svp afin de déterminer directement ]
[ le type de demande... ]
[ Pour vous (dés)inscrire, aller sur http://linuxbe.org/ml.php ]
[ http://LinuxBe.org Contact: listmaster@linuxbe.org ]