Commande sed modification d'un fichier

Résolu
misspass -  
 misspass -
Bonjour,


je cherche à modifier un fichier du type :

12:921:294 [ABC] blabla
12:214:324 [ABC] blablabla
lalala
tralala bla bla bla
12:343:457 [DEF] blabla
testtest
blabla
12:343:457 [GHI] blabla
testtest
32:543:455 [ABC] blabla
12:214:327 [ABC] blablabla
lalala
tralala bla bla bla
12:343:457 [GHI] blabla


Pour ne garder que les lignes qui contiennent [ABC] et les lignes qui n'ont pas 3 lettres entre crochet mais qui sont en dessous d'une ligne contenant [ABC].
J'aurais donc au final :

12:921:294 [ABC] blabla
12:214:324 [ABC] blablabla
lalala
tralala bla bla bla
32:543:455 [ABC] blabla
12:214:327 [ABC] blablabla
lalala
tralala bla bla bla

Je pense que c'est possible avec la commande sed mais je n'y arrive pas...
A voir également:

1 réponse

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
avec awk
$ awk '/\[ABC\]/ {x=1}  /\[.*\]/ &&  $0 !~ /ABC/ {x=0} x' fichier
12:921:294 [ABC] blabla
12:214:324 [ABC] blablabla
lalala
tralala bla bla bla
32:543:455 [ABC] blabla
12:214:327 [ABC] blablabla
lalala
tralala bla bla bla
$ 
1
misspass
 
merci !
0