Quand est-il utile d'utiliser «grep - SOMEPATTERN»?


8

Sous Linux / AIX où que ce soit, quand est-il utile d'utiliser --, comme dans cette commande:

grep -- SOMEPATTERN

Réponses:


18

Quand "SOMEPATTERN" démarre ou peut démarrer (par exemple s'il s'agit d'une variable comme celle "$PATTERN"dont vous n'avez pas le contrôle total) avec un caractère -(tiret).

Aussi avec GNU grep (à moins qu'il ne $POSIXLY_CORRECTsoit activé), c'est utile si d'autres arguments (noms de fichiers) peuvent commencer par -.

Alternativement, vous pouvez faire

grep -e -SOMEPATTERN- -- file1 file2 -xxx-

--marque la fin des options. C'est utile partout où les arguments sans option peuvent commencer par a dash, et cela ne nuit pas, c'est donc une bonne habitude de l'utiliser.


8

Lorsque le motif commence par un tiret, sinon grep pensera que c'est une option. Dites, vous recherchez "-a" dans un texte:

grep -a file.txt

grep essaiera alors de trouver le modèle "file.txt" dans l'entrée standard, en utilisant l'option -a. Par conséquent, vous devez faire

grep -- -a file.txt

3
Cela ne vaut pas seulement pour grep.
Bernhard
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.