Sous Linux / AIX où que ce soit, quand est-il utile d'utiliser --
, comme dans cette commande:
grep -- SOMEPATTERN
Sous Linux / AIX où que ce soit, quand est-il utile d'utiliser --
, comme dans cette commande:
grep -- SOMEPATTERN
Réponses:
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_CORRECT
soit 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.
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
grep
.