#1 Le 08/05/2013, à 09:54
- sab113
utiliser plusieurs commandes shell en même temps? [Résolu]
Bonjour à tous,
J'amerais savoir comment procéder pour pouvoir récupérer à partir d'un fichier txt certaines lignes et certaines colonnes en même temps.
J'ai un fichier avec ce format:
<DOC> titreA00.txt
0|C|TERME1|0,0000
1|C|TERME2|0,0000
2|C|TERME3|0,0000<DOC> titreA01.txt
0|C0282423|TERME4|0,0000
1|C0000877|TERME5|0,0000<DOC> titreA02.txt
0|C0012634|TERME6|0,0000
1|C0031208|TERME7|0,0000<DOC> titreA03.txt
0|C0004083|TERME8|0,0000
1|C0887950|TERME9|0,0000
2|C0030567|TERME10|0,0000
3|C0007806|TERME11|0,0000
4|C0002716|TERME12|0,0000
Et je voudrais récupérer les lignes commençant avec la balise <DOC> mais également toutes les colonnes numéro 3.
Soit je fais :
awk -F "|" '{print $3}' fichier.txt
pour récupérer toutes les colonnes numéro 3
et
sed -n '/<DOC>/p' fichier.txt
Mais je ne sais pas comment faire pour pouvoir utiliser ces deux commandes en même temps et avoir un résultat ur un seul fichier comme suit
<DOC> titreA00.txt
TERME1
TERME2
TERME3<DOC> titreA01.txt
TERME4
TERME5<DOC> titreA02.txt
TERME6
TERME7<DOC> titreA03.txt
TERME8
TERME9
TERME10
TERME11
TERME12
Je vous remercies à l'avance.]
Dernière modification par sab113 (Le 08/05/2013, à 10:43)
Hors ligne
#2 Le 08/05/2013, à 10:28
- Postmortem
Re : utiliser plusieurs commandes shell en même temps? [Résolu]
Salut,
awk -F '|' '/<DOC>/ {print} {print $3}' fichier
Edit :
Pour éviter les lignes vides et en un peu plus court :
awk -F '|' '/<DOC>/;$3 {print $3}' fichier
Re-edit :
Pour garder les lignes vides s'il y en a à l'origine :
awk -F '|' '/<DOC>/ || /^$/;$3 {print $3}' fichier
Dernière modification par Postmortem (Le 08/05/2013, à 10:38)
Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »
Hors ligne
#3 Le 08/05/2013, à 10:41
- sab113
Re : utiliser plusieurs commandes shell en même temps? [Résolu]
Je te remercies Postmortem pour ton aide
Dernière modification par sab113 (Le 08/05/2013, à 10:41)
Hors ligne