Combinación de opciones grep totalmente opuestas.

Combinación de opciones grep totalmente opuestas.

Hice:grep -r -H -L txt ~

Ygrep -r -l -L txt ~

¿Enumera todos los archivos? Porque estoy obteniendo un resultado muy largo.

Respuesta1

Sus dos comandos son exactamente iguales... ambos se repiten a través de su directorio de inicio y enumeran archivos que no contienen el patrón 'txt'.

Para demostrar que tienen el mismo resultado, puedes hacer

diff <(grep -r -H -L txt ~) <(grep -r -l -L txt ~)

Desmenuzándolo un poco...

grep -r -H -L

es lo mismo que

grep -r -L

-H(imprimir nombres de archivos) está implícito en cualquier grepllamada que involucre más de un archivo. Eso es lo que -Lhace, ya que enumera todos los archivos que no coinciden con el patrón especificado.

Próximo...

grep -r -l -L

es lo mismo que

grep -r -L

Esto se debe simplemente al hecho de que -ly -Lson opciones en conflicto y, en tales casos, el último indicador que aparece anula cualquier indicador anterior en conflicto. (Gracias a@don_crisstipor señalar esto.)

Entonces, en efecto, tienes grep -r -Ly grep -r -L.

información relacionada