grep - pourquoi les crochets dans le modèle grep suppriment-ils le processus grep des résultats ps?


Réponses:


20

Lorsque vous exécutez ps -ef | grep string, grep s'affiche dans la sortie car stringcorrespond [...] grep string.

Mais, lorsque vous exécutez ps -ef | grep [s]tringla ligne ne s'affiche pas, car grep se traduit [s]tringpar string, tandis que ps génère [...] grep [s]tring, et cela ne correspond passtring


1
... car []représente l'un des jeux de caractères entre parenthèses dont, dans ce cas, "s" est le seul ...
pause jusqu'à nouvel ordre.

oui ... j'ai vraiment eu du mal à expliquer celui-ci en anglais ... ce n'est pas ma première langue :)
Stefan

2

Parce que les crochets doivent être échappés, pour bash une fois et pour grep à nouveau:

$ ps -ef | grep \\[X\\]XXX

[...] XXXX
[...] grep XXXX


$ ps -ef | grep "\[X\]XXX"

[...] XXXX
[...] grep XXXX
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.