Assignation de variables à partir d'une chaine de caractères
Bonjour, bonjour,
Dur, dur d'être débutant.
J'ai une ligne de forme suivante :
Citation:
AAAAAA BBBBBB CCCCCCCCCCCCCC DDDDDDDDD
Tous mes champs sont donc séparés par un espace.
J'aimerais que ce qui se trouve avant le premier espace soit mis dans une première variable, que ce qui se trouve entre les deux premiers espaces soit mis dans une autre, ...
Pour être plus concret, le résultat final devrait être :
var1 = AAAAAA
var2 = BBBBBB
var3 = CCCCCCCCCCCCCC
var4 = DDDDDDDDD
Complexité supplémentaire :
- la taille de ces "sous-chaînes" est variable
(et peut contenir des caractères de type virgule, point-virgule)
- je suis obligé de passer par un "for" => pas de while read
- j'aimerais qqch d'assez léger.
( J'utilise awk mais read ou cut pourrait-il m'aider ? )
J'ai ceci pour le moment :
Citation:
for line in $lineList; do
VAR1=$(echo $line | awk -F' ' '{print $1}')
VAR2=$(echo $line | awk -F' ' '{print $2}')
VAR3=$(echo $line | awk -F' ' '{print $3}')
done
Un tout grand merci pour vos conseils avisés.
Nb: Je travaille avec ksh.