Recherche de lignes avec find et grep
Résolu/Fermé
razuki
Messages postés
242
Date d'inscription
lundi 17 décembre 2007
Statut
Membre
Dernière intervention
5 décembre 2012
-
28 oct. 2010 à 15:16
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 29 oct. 2010 à 00:56
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 29 oct. 2010 à 00:56
A voir également:
- Recherche de lignes avec find et grep
- Recherche musique - Guide
- Google recherche par image - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Site de vente en ligne particulier - Guide
- Facebook recherche par nom et prénom ✓ - Forum Facebook
2 réponses
mamiemando
Messages postés
33079
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
23 avril 2024
7 749
Modifié par mamiemando le 28/10/2010 à 15:25
Modifié par mamiemando le 28/10/2010 à 15:25
Si j'ai bien compris :
Le premier grep fouille dans l'arborescence /mon/rep. La seconde filtre le résultat du premier grep et vire toutes les lignes contenant expr2. À noter que expr1 et expr2 sont en réalité des expressions régulières. Pour plus de détails sur ce que c'est et comment ça fonctionne :
Si tu veux filtrer les messages d'erreur, attention, un pipe | ne mouline que le flux écrit dans la sortie standard (stdout) et pas dans stderr. Si tu veux masquer les erreurs, il suffit de rediriger ce flux dans /dev/null. Vu que seul le premier grep est susceptible d'écrire des erreurs, on effectue la redirection à son niveau (mais a priori on pourrait en mettre une en place pour le 2nd grep également) :
Bonne chance
grep -nr expr1 /mon/rep | grep -v expr2
Le premier grep fouille dans l'arborescence /mon/rep. La seconde filtre le résultat du premier grep et vire toutes les lignes contenant expr2. À noter que expr1 et expr2 sont en réalité des expressions régulières. Pour plus de détails sur ce que c'est et comment ça fonctionne :
man grep
Si tu veux filtrer les messages d'erreur, attention, un pipe | ne mouline que le flux écrit dans la sortie standard (stdout) et pas dans stderr. Si tu veux masquer les erreurs, il suffit de rediriger ce flux dans /dev/null. Vu que seul le premier grep est susceptible d'écrire des erreurs, on effectue la redirection à son niveau (mais a priori on pourrait en mettre une en place pour le 2nd grep également) :
grep -nr expr1 /mon/rep 2> /dev/null | grep -v expr2
Bonne chance
razuki
Messages postés
242
Date d'inscription
lundi 17 décembre 2007
Statut
Membre
Dernière intervention
5 décembre 2012
1
28 oct. 2010 à 18:19
28 oct. 2010 à 18:19
après un man grep :
n : c'est pour afficher le numero de ligne
r : pour une recherche recursive dans le repertoire en question.
n : c'est pour afficher le numero de ligne
r : pour une recherche recursive dans le repertoire en question.
28 oct. 2010 à 17:05
(ça fait quoi le -nr ? parce que je l'utilise jamais)
29 oct. 2010 à 00:56