Boucle

Fermé
mm - 12 févr. 2013 à 16:41
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 12 févr. 2013 à 16:49
Bonjour,

J'ai un fichier d'entré file.txt qui contient des lignes tel que celles ci-dessous.

blabla ........
blabla ........
Produit A Nb =3
blabla ........
Opt 1
Opt 2
Opt 3
blabla ........
blabla ........
Produit B Nb = 1
blabla ........
Opt 1
blabla ........
blabla ........
Produit C Nb = 0
blabla ........
blabla ........
Produit D Nb = 2
blabla ........
Opt 2
Opt 4
blabla ........
blabla ........


Je souhaite pour chaque code Produit (ici de A à D) mais il n'y a pas de limite (peut aller jusqu'à ZZ), avoir les Opt par Produit. Si le Nb produit = 0 alors passer au produit suivant.

=> Resultat souhaité:
Produit A
Opt 1
Opt 2
Opt 3

Produit B
Opt 1

Produit D
Opt 2
Opt 3

Comment faire cela en shell?

1 réponse

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
12 févr. 2013 à 16:49
hello
awk '/^Produit/ && $NF {print $1, $2} /^Opt/' file.txt
Produit A
Opt 1
Opt 2
Opt 3
Produit B
Opt 1
Produit D
Opt 2
Opt 4 
0