Bonjour, bonjour,
Dur, dur d'être débutant.
J'ai une ligne de forme suivante :
Tous mes champs sont donc séparés par un espace.AAAAAA BBBBBB CCCCCCCCCCCCCC DDDDDDDDD
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 :
Un tout grand merci pour vos conseils avisés.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
Nb: Je travaille avec ksh.
Partager