Egrep - Exclure la commande grep elle-même
Résolu
pcsystemd
Messages postés
734
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
bon je n'arrive pas a trouvé la bonne syntaxe avec egrep
Mon but est de récupérer les lignes contenant openerp-*.py suite a la commande
Mon souci c'est que cela ma récupérer également l'openerp de ma commande egrep et je ne souhaite pas puisque c'est pour vérifier si j'ai des proccess openerp actifs qui tournent.
Comment puis je faire pour récupérer les process sans celui de ma commande egrep?
Merci
L'accès au savoir est la première liberté que chaque homme devrait avoir.
bon je n'arrive pas a trouvé la bonne syntaxe avec egrep
Mon but est de récupérer les lignes contenant openerp-*.py suite a la commande
ps -efdonc j'ai fait :
ps -ef | egrep 'openerp.*py' | tr -s " " "|" | cut -d "|" -f9 > fichier
Mon souci c'est que cela ma récupérer également l'openerp de ma commande egrep et je ne souhaite pas puisque c'est pour vérifier si j'ai des proccess openerp actifs qui tournent.
Comment puis je faire pour récupérer les process sans celui de ma commande egrep?
Merci
L'accès au savoir est la première liberté que chaque homme devrait avoir.
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 scannow - Guide
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...
;-))
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
....