Récupérer un bloc de texte avec ?GREP
Résolu
eZula
Messages postés
3391
Date d'inscription
Statut
Contributeur
Dernière intervention
-
eZula Messages postés 3391 Date d'inscription Statut Contributeur Dernière intervention -
eZula Messages postés 3391 Date d'inscription Statut Contributeur Dernière intervention -
Salut,
je cherche une solution pour matcher un bloc de texte avec ?grep. L'obstacle est l'identification du retour chariot. Plus concrètement :
Il me semble que le retour chariot c'est \n, comment matcher :
grep 'coucou\nhello' j ne marche pas, pas plus qu'un tas d'autres combinaisons (parenthèses, guillemets, crochets, etc). Est-ce possible avec grep ?
Merci
je cherche une solution pour matcher un bloc de texte avec ?grep. L'obstacle est l'identification du retour chariot. Plus concrètement :
cat j coucou hello bonjour
Il me semble que le retour chariot c'est \n, comment matcher :
coucou hello
grep 'coucou\nhello' j ne marche pas, pas plus qu'un tas d'autres combinaisons (parenthèses, guillemets, crochets, etc). Est-ce possible avec grep ?
Merci
A voir également:
- Récupérer un bloc de texte avec ?GREP
- Comment recuperer un message supprimé sur whatsapp - Guide
- Comment récupérer un compte facebook piraté - Guide
- Convertisseur récupération de texte - Guide
- Récupérer un numéro de téléphone effacé - Accueil - Android
- Bloc-notes (windows) - Télécharger - Traitement de texte
4 réponses
Salut,
Quelle est la finalité de la demande ?
Matcher absolument le retour charriot ? Ou matcher un nombre de lignes avant/après le motif ?
Sinon, essaye ça :
Quelle est la finalité de la demande ?
Matcher absolument le retour charriot ? Ou matcher un nombre de lignes avant/après le motif ?
Sinon, essaye ça :
grep -x coucou$'\n'hello fichier;-))
Salut jipicy - merci
je souhaite récupérer des blocs de texte et les découper (probablement avec sed) s'ils contiennent une expression, ce qui me gênait c'est que dans ces blocs il y a des retours à la ligne
Ta commande semble fonctionner, je n'ai pas consulté le man et ne connaissais pas l'option -x :
en fait plus précisément, il s'agit de récupérer la ligne au dessus d'une ligne qui contiendrait une expression. Dans cet exemple, le but serait de récupérer la ligne au-dessus de hello ; ou plus loin, récupérer toutes les lignes qui se trouvent au-dessus de toutes les lignes contenant hello (en gras ci-dessous) :
J'entrevois quelquechose avec grep -n et sed mais qui pourrait être un peu lourd
j'imagine qu'il y a peut être plus adapté comme commande, mais je voulais déjà savoir comment traiter ces retours chariots avec grep
je souhaite récupérer des blocs de texte et les découper (probablement avec sed) s'ils contiennent une expression, ce qui me gênait c'est que dans ces blocs il y a des retours à la ligne
Ta commande semble fonctionner, je n'ai pas consulté le man et ne connaissais pas l'option -x :
grep -x coucou$'\n'hello$'\n'bonjour j coucou hello bonjour
en fait plus précisément, il s'agit de récupérer la ligne au dessus d'une ligne qui contiendrait une expression. Dans cet exemple, le but serait de récupérer la ligne au-dessus de hello ; ou plus loin, récupérer toutes les lignes qui se trouvent au-dessus de toutes les lignes contenant hello (en gras ci-dessous) :
coucou hello bonjour salut hello aurevoir hello byebye ciao hello
J'entrevois quelquechose avec grep -n et sed mais qui pourrait être un peu lourd
j'imagine qu'il y a peut être plus adapté comme commande, mais je voulais déjà savoir comment traiter ces retours chariots avec grep