¿Cuándo es útil usar "grep - SOMEPATTERN"?


8

En Linux / AIX donde sea, cuándo es útil usar --, como en este comando:

grep -- SOMEPATTERN

Respuestas:


18

Cuando "SOMEPATTERN" se inicia o puede iniciarse (por ejemplo, si es una variable como la "$PATTERN"que no tiene control total) con un carácter -(guión).

También con GNU grep (a menos que $POSIXLY_CORRECTesté activado ), es útil si otros argumentos (nombres de archivo) pueden comenzar con -.

Alternativamente, puedes hacer

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

--marca el final de las opciones. Es útil en todas partes donde los argumentos no opcionales pueden comenzar con a dash, y no hace daño, por lo que es un buen hábito usarlo.


8

Cuando el patrón comienza con un guión, de lo contrario grep pensará que es una opción. Digamos que estás buscando "-a" en un texto:

grep -a file.txt

grep entonces intentará encontrar el patrón "archivo.txt" en la entrada estándar, usando la opción -a. Por lo tanto, debes hacer

grep -- -a file.txt

3
Esto no solo es válido para grep.
Bernhard
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.