2011-03-21 28 views
6

Tengo un Mac OS X Snow Leopard. Estoy utilizando el terminal xterm a grep cadena específica usando este comando grep -R --color=auto setHeader *.js pero cuando ejecuto este comando me sale el error diciendogrep specific filetypes en MAC

grep: \*.js: No such file or directory 

Así que mi pregunta es ¿cómo puedo grep I para un tipo de archivo específico en Mac?

Respuesta

5

La mejor manera de hacerlo es combinar la find y el comando grep:

find . -name "*.js" -exec grep --color=auto setHeader {} \; 
+0

Gracias Laurent. Esto funcionó! – Amrish

0

El problema es el indicador "-R". Al usar eso, necesita especificar un directorio. Sería mejor utilizar un comando de búsqueda:

buscar. -name "* .js" -exec grep "setHeader" '{}' \;

Si desea usar grep, simplemente use "." en lugar de "* .js" para el patrón de archivo.

0

El mensaje de error dice que no hay '' * .js archivos en el directorio actual. Si desea recorrer un árbol de directorios, entonces se podría hacer esto:

find <startdirectory> -name '*.js' -exec grep --color=auto setHeader '{}' ';' 

Por supuesto que necesita para rellenar el correcto startdirectory, puede utilizar . para denotar el directorio que está actualmente en

.
6

grep --include=*.js -R . --color=auto setHeader

Dado que el ejemplo se utiliza dados "de tipo de archivo = extensión de archivo", esto sólo debería funcionar.

1

Esta funciona para mí en Mac OS 10.8:

grep --include=*.js -r setHeader .