Respuestas:
En su archivo $ HOME / .bashrc, agregue:
export GREP_OPTIONS="-n --color"
Esto también funcionará con egrepy en alias que usan grep.
Actualización : GREP_OPTIONS está en desuso de grep 2.21 en adelante y si usa esta solución, verá la siguiente advertencia:
grep: warning: GREP_OPTIONS is deprecated; please use an alias or script
Por lo tanto, la mejor solución es seguir los consejos de maco en su respuesta . O cambie a usar ag , que sale en color por defecto.
Editar ~ / .bash_aliases Agregue una línea que dice:
alias grep='grep -n --color'
~ / .bash_aliases se incluye automáticamente por ~ / .bashrc si existe
.profilesi desea que funcione en todos los shells, no solo bash.
find /usr/share -name '*.txt' |xargs grep testing
puede modificar el archivo .bashrc ubicado en su directorio de inicio definiendo un alias, que anulará cualquier configuración predeterminada:
alias grep = 'grep -n --color'
después del cambio, cierre y abra el terminal nuevamente porque el archivo se lee solo cuando abre el terminal.
Si echa un vistazo al archivo .bashrc, encontrará más alias predeterminados como:
alias ll = 'ls -l'
alias la = 'ls -A'
alias l = 'ls -CF'
Cree un script además del alias mencionado en las otras respuestas. Un alias por sí solo no siempre funcionará, y una capa de script es lo suficientemente rápida para la salida legible por humanos de todos modos.
Elija un nombre corto, como cgrep:
#!/bin/sh
grep --color -n "$@"
Colóquelo en su camino, digamos ~/bin(si lee UPE esto está en su camino :). Entonces cosas como esta funcionarán:
find /usr/share -name '*.txt' | xargs cgrep testing
Todavía no estoy tan contento, yo también quería que grep siempre coloreara en un terminal sin escribir selectivamente cgrep.