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'