No hay un archivo rc para grep, pero puede configurar la variable de entorno GREP_OPTIONS
en una lista de opciones separadas por espacios en blanco que se aplicarán a todos los comandos grep. Esto requiere GNU grep (la implementación en Linux no incorporado, Cygwin y algunos otros sistemas) 2.4; La --exclude
opción es nueva para GNU grep 2.5. Ponga algo como esto en su ~/.profile
:
export GREP_OPTIONS='--color=auto --exclude=*.pyc --exclude-dir=.git'
Si ha hecho esto pero desea ejecutar grep una vez sin esas opciones predeterminadas, puede anularlas (por ejemplo, grep --color=never
para forzar la desactivación de los colores) o vaciar la GREP_OPTIONS
variable ejecutando GREP_OPTIONS= grep …
.
Otra posibilidad es definir alias para grep. Yo uso una variante de lo siguiente:
alias regrep='grep -Er --exclude=*~ --exclude=*.pyc --exclude-dir=.bzr --exclude-dir=.git --exclude-dir=.svn'
Gilles 'SO- deja de ser malvado'
fuente
GREP_OPTIONS
afectará lasgrep
llamadas en los scripts, mientras que un alias no lo hará. PorGREP_OPTIONS
lo tanto, debe usarse con moderación. El uso más común es for--color=auto
, que en principio es inofensivo en los scripts porque solo tiene efecto si la salida es un terminal.ack puede hacer lo que quieras y más.
Se ignorará los archivos binarios de forma predeterminada y se puede decir que hacer caso omiso de otros tipos de archivos como desee
--notext
,--nohtml
, etc Tiene la capacidad de definir un fichero rc también, así que se puede personalizar con sus propios tipos.fuente
No es una respuesta directa a tu pregunta. Pero grep tiene una opción para ignorar todos los archivos binarios, incluido * .pyc. La opcion es
-I
fuente
No en GNU
grep
/egrep
, no lo hay.Probablemente desee un alias o script especialmente nombrado para hacer esto de todos modos, porque algún día más tarde podría encontrarse muy confundido al intentar buscar algo que olvidó que coincide con su configuración especial.
fuente
GREP_OPTIONS
en~/.profile
se acerca.--color=auto
!