Grep double \n [Résolu]

Messages postés
1436
Date d'inscription
mercredi 31 août 2011
Statut
Membre
Dernière intervention
22 octobre 2019
- - Dernière réponse : zipe31
Messages postés
37422
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
12 novembre 2019
- 22 oct. 2019 à 17:12
Bonjour à tous,

Je suis à la recherche d'une methode me permettant de trouvé les fichiers qui contienne le patern suivant :
annotations:\n
\n


J'ai essayé grep -E "annotations:\n\n", egrep -l "annotations:+$+$", pcregrep -L -Mi 'annotations:(\n)(\n)' mais aucun ne fonctionne

Quelqu'un a-t-il une solution magique ? :):)

Merci à vous !

Configuration: Linux / Chrome 77.0.3865.120

Afficher la suite 

1 réponse

Messages postés
37422
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
12 novembre 2019
4210
0
Merci
Salut,

$ cat fich 
1annotations:

blabla
blabla
2annotations:
blabla
blabla

$ grep -Pzo ".?annotations:\n\n" fich
1annotations:


$


J'ai rajouté un chiffre devant histoire qu'on soit bien sûr du pattern retourné ;-))

zipe31
Messages postés
37422
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
12 novembre 2019
4210 -
J'ai rajouté un chiffre devant histoire qu'on soit bien sûr du pattern retourné ;-))
Que je suis c*n ;-((

Avec '-n' ça le faisait aussi bien ;-\
$ grep -Pzno ".?annotations:\n\n" fich 
1:1annotations:


$
Exileur
Messages postés
1436
Date d'inscription
mercredi 31 août 2011
Statut
Membre
Dernière intervention
22 octobre 2019
71 -
Super!! Merci Zipe!
Je vais consulter la doc pour comprendre les options que tu as mis!

Merci encore !
zipe31
Messages postés
37422
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
12 novembre 2019
4210 > Exileur
Messages postés
1436
Date d'inscription
mercredi 31 août 2011
Statut
Membre
Dernière intervention
22 octobre 2019
-
De rien ;-))

Rien de bien sorcier en fait :
 
  • P = Perl regex
  • z = On considère tout sur une seule ligne (en gros) avec un caractère null comme délimiteur
  • o = On capture que le motif indiqué
Commenter la réponse de zipe31