Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
For + sed
Envoyé par: edouard_31

bonjour à partir de nom de fichier contenus dans un fichier .txt
je tente de récupérer pour chaque fichier la deuxième ligne de ces derniers afin de les répercuter dans un fichier unique

contenu du fichier.txt
aaa.txt
bbb.txt
ccc.txt

contenu du fichier aaa.txt
noir
rouge
vert

contenu du fichier bbb.txt
noir
vert
rouge

contenu du fichier ccc.txt
rouge
noir
vert

le fichier unique.txt devrait contenir donc
rouge
vert
noir

J'ai tenté de faire ceci sans résultat:

for line in $(cat fichier.txt); do sed -n '2p' $line >>unique.txt; done

Pouvez-vous m'aider ?

D'avancer merci pour vos explications !
Bien à vous.
Ed.

Poste le Thursday 22 September 2011 16:19:03
Répondre     Citer    
Re: For + sed
Envoyé par: Jiel

En fait c'est un problème de boucles ; il faut une boucle pour parcourir le fichier, et une boucle pour extraire l'information. La solution n'est peut-être pas très élégante, mais elle fonctionne :

for i in $(for line in fichier.txt ; do cat fichier.txt ; done) ; do sed -n '2p'$line >> $unique.txt ; done

Poste le Tuesday 18 October 2011 15:45:46
Répondre     Citer    
Re: For + sed
Envoyé par: NBaH

Citation

for i in $(for line in fichier.txt ; do cat fichier.txt ; done) ; do sed -n '2p'$line >> $unique.txt ; done
quoi ?!
while read f; do sed '2! d' "$f"; done < fichier.txt > unique.txt

Poste le Thursday 20 October 2011 09:55:14
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
For + sed
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons