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

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?


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
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.