Egrep - Exclure la commande grep elle-même
Résolu/Fermé
pcsystemd
Messages postés
691
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
15 janvier 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
- Commande chkdsk - Guide
- Discord exclure expulser - Forum Réseaux sociaux
- 'Ls' n’est pas reconnu en tant que commande interne - Forum Windows
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 895
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
691
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
15 janvier 2024
22
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
....