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.