Egrep - Exclure la commande grep elle-même
Résolu/Fermé
pcsystemd
Messages postés
702
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
6 novembre 2024
-
Modifié par Jeff le 7/10/2010 à 11:59
Utilisateur anonyme - 7 oct. 2010 à 22:25
Utilisateur anonyme - 7 oct. 2010 à 22:25
A voir également:
- Egrep - Exclure la commande grep elle-même
- Invite de commande - Guide
- Commande terminal mac - Guide
- Diskpart commande - Guide
- Commande dism - Guide
- Commande en cours de validation fnac - Forum Consommation & Internet
2 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
7 oct. 2010 à 10:17
7 oct. 2010 à 10:17
Salut,
;-))
ps -ef | egrep 'o[p]enerp.*py' | tr -s " " "|" | cut -d "|" -f9
;-))
pcsystemd
Messages postés
702
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
6 novembre 2024
23
7 oct. 2010 à 11:04
7 oct. 2010 à 11:04
Merci pour l'explication c'est claire maintenant.
7 oct. 2010 à 10:24
7 oct. 2010 à 10:54
Ta question c'est plutôt : en quoi le fait de préciser [p] élimine le openerp présent dans la commande grep ?
Et non dans la commande "ps" ;-))
Pour simplifier j'ai enlevé l'astérisque (quantificateur) de la commande qui suit...
Alors si on laisse "ps -ef | egrep 'openerp.py", grep recherche la chaine openerp.py dans la liste affichée par "ps -ef" et trouve naturellement les occurrences propres aux programmes mais aussi celle du processus "grep", alors qu'en rajoutant un crochet, qui n'est interprété que par grep comme une expression régulière (liste de caractères), il ne trouve que les occurrences propres aux programmes mais ignore la chaine de caractère littérale "o[p]enerp.py", les crochets n'étant pas développés mais interprétés littéralement...
;-))
7 oct. 2010 à 10:59
7 oct. 2010 à 11:03
7 oct. 2010 à 11:04
mais ignore la chaine de caractère littérale "o[p]enerp.py", les crochets n'étant pas développés mais interprétés littéralement...
Comment ça?!
Pour que les crochets soient interprétés littéralement il faut un backslash \[p\] sinon avec egrep 'o[p]enerp.*py' egrep devrait pouvoir reconnaître.
oenerppy
oenerpJKLJERKLJpy
opernerppy
openerpUIORUL454545py
....