Grep double \n

Résolu/Fermé
Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022 - 22 oct. 2019 à 16:12
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 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

1 réponse

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
22 oct. 2019 à 16:29
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é ;-))

0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
22 oct. 2019 à 16:39
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:


$
0
Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022 150
22 oct. 2019 à 16:47
Super!! Merci Zipe!
Je vais consulter la doc pour comprendre les options que tu as mis!

Merci encore !
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407 > Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022
22 oct. 2019 à 17:12
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é
0