2012-03-12 16 views
20

Tengo una gran lista de archivos de registro en un directorio particular, relacionado con mi aplicación java bajo mis servidores remotos Linux.Linux: busque una palabra en particular en una lista de archivos bajo un directorio

Cuando hago ls en ese directorio particular, se muestra una lista de archivos (cerca de 100 archivos)

Ahora en esa lista de archivos, tengo que encontrar una palabra en particular, por favor dime, ¿cómo Puedo hacer esto ??

El problema es que no puedo abrir cada archivo y la búsqueda de esa palabra utilizando/

favor, dígame cómo puedo buscar una palabra en la lista de archivos proporcionados.

+0

posible duplicado de [+ Linux encontrar la palabra en el archivo en el directorio pero rápidamente] (http: // stackoverflow.com/questions/2965050/linux-find-word-in-file-under-directory-but-quickly) – Shahbaz

+0

Es decir, no exactamente duplicado, pero la respuesta también está allí, que podría encontrarse fácilmente en las preguntas relacionadas. – Shahbaz

Respuesta

25

grep está hecho para esto.

Uso grep myword *

Y comprobar man grep.

8

Esta es una tarea muy frecuente en Linux. Yo uso grep -rn ''. todo el tiempo para hacer esto. -r para recursivo (carpeta y subcarpetas) -n por lo que da los números de línea, el punto representa el directorio actual.

grep -rn '<word or regex>' <location> 

hacer un

man grep 

para más opciones

1

También puede probar lo siguiente.

find . -name '*.java' -exec grep "<yourword" /dev/null {} \; 

Se pone todos los archivos con la extensión .java y las búsquedas de los yourword 'en cada archivo, si se presenta, se muestra el archivo.

espero que ayude :)

31

Puede utilizar este comando:

grep -rn "string" * 

n para mostrar el número de línea con el nombre del archivo para r recursiva

0

Se puede encontrar el club con el ejecutivo de la siguiente manera para obtener la lista de archivos y la aparición de la palabra/cadena que está buscando

find . -exec grep "my word" '{}' \; -print 
Cuestiones relacionadas