GNU/Linux >> Tutoriales Linux >  >> Linux

¿Lista los nombres de archivo según un patrón de nombre de archivo y el contenido del archivo?

grep LMN20113456 LMN2011*

o si desea buscar recursivamente a través de subdirectorios:

find . -type f -name 'LMN2011*' -exec grep LMN20113456 {} \;

Se puede hacer sin find también usando "--include" de grep opción.

La página man de grep dice:

--include=GLOB
Search only files whose base name matches GLOB (using wildcard matching as described under --exclude).

Entonces, para hacer una búsqueda recursiva de una cadena en un archivo que coincida con un patrón específico, se verá así:

grep -r --include=<pattern> <string> <directory>

Por ejemplo, para buscar recursivamente la cadena "mytarget" en todos los Makefiles:

grep -r --include="Makefile" "mytarget" ./

O para buscar en todos los archivos que comienzan con "Make" en el nombre de archivo:

grep -r --include="Make*" "mytarget" ./

Grep NO usa "comodines" para la búsqueda, eso es un shell globbing, como *.jpg.Grep usa "expresiones regulares" para la coincidencia de patrones. Mientras que en el shell '*' significa "cualquier cosa", en grep significa "coincidir con el elemento anterior cero o más veces".

Más información y ejemplos aquí:http://www.regular-expressions.info/reference.html

Para responder a su pregunta, puede encontrar archivos que coincidan con algún patrón con grep:

find /somedir -type f -print | grep 'LMN2011' # that will show files whose names contain LMN2011

Luego puede buscar su contenido (sin distinción entre mayúsculas y minúsculas):

find /somedir -type f -print | grep -i 'LMN2011' | xargs grep -i 'LMN20113456'

Si las rutas pueden contener espacios, debe usar la función "extremo cero":

find /somedir -type f -print0 | grep -iz 'LMN2011' | xargs -0 grep -i 'LMN20113456'

Linux
  1. ¿Imprimir líneas entre (e incluyendo) dos patrones?

  2. Salida a Stdout y al mismo tiempo Grep en un archivo?

  3. grep una lista grande contra un archivo grande

  4. ¿Cómo ejecuta `less` y hace que ejecute un patrón de búsqueda automáticamente?

  5. Ventajas de cat'ing file y piping a grep

Crear y ampliar el sistema de archivos XFS basado en LVM

Comando Ls en Linux (Lista de archivos y directorios)

Cómo realizar una búsqueda de patrones en archivos usando Grep

Manipulación de texto con sed y grep

Cómo realizar una búsqueda Grep en todos los archivos y en todos los directorios

AWK y nombres de archivo con espacio en él.