GNU/Linux >> Tutoriales Linux >  >> Linux

Grep ¿Cómo suprimir la visualización de archivos no coincidentes?

Estoy tratando de encontrar archivos que contengan una palabra específica usando grep . Hay muchos archivos en el directorio (> 500)

Comando que ejecuto

$ grep 'delete' *

Salida

validate_data_stage1:0
validate_data_stage2:0
validate_data_stage3:0
validate_data_stage4:0
validate_data_stage5:0
validate_input_stage1:0
validate_input_stage2:0
validate_input_stage3:0
validate_input_stage4:0
.... and hundred of such lines

Estos son los archivos que no contienen la coincidencia dada. Quiero suprimir esas líneas para que no se muestren en la salida estándar. Sé de -q interruptor, pero eso suprimiría la salida completa, lo cual no quiero.

¿Cómo hago eso?

Respuesta aceptada:

Ese es el comportamiento exhibido por grep -c .

Probablemente tengas un archivo cuyo nombre comience con - y contiene una c carácter y está utilizando GNU grep sin establecer el POSIXLY_CORRECT variable de entorno.

Usar:

grep -- delete *

o mejor:

grep delete ./*

-- marca el final de las opciones para que ese nombre de archivo no se considere como una opción (con un grep POSIX, no lo sería ya que la no opción delete argumento habría marcado el final de las opciones), pero no resolvería el problema de un archivo llamado - . El grep delete ./* es más robusto pero tiene el inconveniente de generar el ./ adicional para archivos coincidentes (aunque eso puede considerarse una ventaja, ya que ayuda a identificar los nombres de archivo que contienen caracteres de nueva línea).


Linux
  1. ¿Cómo mostrar resaltado de sintaxis en un archivo?

  2. ¿Cómo hago grep recursivamente?

  3. ¿Cómo mostrar la lista de procesos en ejecución de Python?

  4. Cómo grep una sección de un archivo en bash Shell

  5. Cómo hacer grep para Unicode en un script bash

Cómo mover un archivo en Linux

Cómo excluir en Grep

Cómo crear un archivo en Linux

Cómo encontrar una cadena en un archivo en Linux

Cómo mostrar datos de un archivo de texto en Linux

¿Cómo mostrar el contenido del archivo de forma recursiva?