2012-09-07 18 views
17

Tengo una carpeta con subcarpetas adentro, todas tienen muchos tipos de archivos. Quiero buscar una palabra dentro de .css -files. Estoy usando Windows 7 y tengo grep.Encontrar una cadena en varios archivos usando grep

¿Cómo puedo usar grep a:

  1. patrón de Búsqueda e imprimirlo
  2. Dar nombre del archivo (y la ruta) si el patrón se encontró

Respuesta

28

Actualmente no necesita find. Simplemente use:

grep -R --include=*.css -H pattern . 

esto se repetirá y buscará todo * .css en los subdirectorios, mientras -H mostrará el nombre del archivo.

+0

¿qué significa el punto? – Leo92

+1

No hay problema, el punto es el lugar desde el que se iniciará la recurrencia y representa el directorio actual. – Bitwise

+1

Tengo algunas preguntas: 1. ¿Puedo usar 'o' para el tipo de archivo' (txt | css) '2. ¿Cómo puedo buscar nombres y tipos de archivos? – Leo92

0
find folder/ -name "*.css" |xargs grep "your-pattern"

Usted tendrá que instalar cygwin para hacer esto.

0

si los archivos en los que tenemos que buscar tienen un patrón, entonces podemos usar esto. Considere que estoy buscando patrón "cardlayout" en archivos llamados chap1.lst chap2.lst y así sucesivamente. entonces la esperanza de comandos

grep -e 'cardlayout' ` find . -name "chap??.lst"` 

esto ayudaría

Cuestiones relacionadas