Pourquoi mettre une seule lettre entre crochets dans une expression régulière grep?

19

J'ai vu plusieurs cas où les gens font cela:

grep [f]oobar

Mais je ne comprends pas pourquoi c'est préférable à

grep foobar
hortitude
la source
Hmm .. Je pensais que c'était censé correspondre à la plage de caractères dans []. S'il ne s'agit que d'un seul personnage, cela pourrait être juste pour le rendre compliqué :) Peut-être y a-t-il quelque chose de plus.
Chida
Quelque chose de si simple peut être si beau
Chida

Réponses:

33

Il n'y a aucune raison pour que la syntaxe préférable soit seule. Il est parfois utilisé comme hack lors de la "réception" d'un processus (par exemple, ps aux | grep [a]pache). L'utilisation de cette syntaxe empêche grep de faire correspondre sa propre ligne de commande dans la liste des processus.

Voir Comment empêcher «ps» de signaler son propre processus?

Jeff Ferland
la source
4
C'est le seul exemple courant de cette syntaxe que je connaisse.
ewwhite
En fait, vous avez raison. Les derniers exemples que j'ai rencontrés provenaient d'une "exclusion
PS