Recuperer ligne de fichier dans variables séparées - Shell/Batch - Programmation
Marsh Posté le 15-04-2009 à 11:24:38
Salut
Il y a des tas de solution, tu peux faire une boucle for (for i in `cat test.txt` ...) et mettre tes valeurs dans un tableau, changer l'IFS et utiliser set, etc
Marsh Posté le 15-04-2009 à 12:00:35
Oui un tableau ça ira trankilou
tomtom293 a écrit : Bonjour à tous, |
C'est une histoire de subshell ça peut-être, dans le doute... :
Dans le script suivant :
J=-1 |
L'affichage donne :
|
Pourquoi ? I n'est pas exporté en dehors de la boucle.
Lors du "cat | while read", le pipe a créé un subshell. I est modifiée
dans ce subshell, mais jamais dans le shell courant.
Il faut donc retenir qu'un pipe => un subshell, car par définition "un
pipe est un flux de données à sens unique entre deux processus"
D'où le script suivant pour résumer la situation :
|
Marsh Posté le 14-04-2009 à 21:15:34
Bonjour à tous,
Voila j'ai un fichier test.txt de 6 lignes, qui se presente sous cette forme:
TOTO
TITI
TATA
TONTON
PEPE
MEME
Et en fait je voudrai réaliser un script shell qui met chaque ligne dans un variable.
Donc en gros, j'aurai $1=TOTO,$2=TITI,...$6=MEME
J'ai essaye avec une boucle while, mais le pb est que je ne recupere que la derniere ligne...
Pouvez vous m'aider...?
Merci bcp à tous et a toutes
Tom