Boucle

mm -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    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