Grep_color en mac


12

Estoy tratando de resaltar mi expresión regular en Mac usando terminal. He puesto esto es mi .profile:

export GREP_COLOR='1;30;40'

Nada cambia, así que agregué lo mismo a mi bash.profilenada, reinicié la máquina. Cuando estoy:

egrep --color=auto ".*\W blah blah "

luego se ilumina un poco de color amarillo, pero me preguntaba si había hecho algo mal en mi .profileo bash_profile.

Cualquier ayuda sería buena: leopardo de las nieves, con una vieja terminal :-)


2
¿No está en GREP_COLORdesuso? De todos modos, grep --colordebe resaltar las coincidencias en el color predeterminado, sin necesidad de variables de entorno.
jw013

Eso es solo la mitad cierto. GREP_COLORle permite personalizar los colores reales, mientras que --colorsolo habilita / deshabilita los colores configurados de manera predeterminada. Y PIENSO GREP_COLORS(plural) es lo que está en desuso. Es por eso que mi forma de colorear hace años desapareció sin que me diera cuenta.
Sridhar Sarnobat

Respuestas:


22

Esto funcionó en mi máquina de leopardo de las nieves. Intente simplemente copiar y pegar el texto en su terminal y ver si grep muestra el comportamiento deseado. Si lo hace, entonces el problema es que no lo está agregando al archivo de puntos correcto. ¿Qué caparazón estás usando? El archivo de puntos al que debe agregarlo depende del shell que utilice.

export GREP_OPTIONS='--color=auto'
export GREP_COLOR='1;30;40'

Además, intente ejecutar printenvpara ver qué variables ambientales ya ha configurado y ver si ya hay opciones grep.


¡¡¡excelente!!! ¡¡gracias!! mucho mejor que configurar un alias!
cwd

1
Extraño. Iba a votar esta respuesta, pero no funcionó para mí usando Terminal en Snow Leopard. Convirtió el texto coincidente en cuadros completamente negros.
Old Pro

2
@OldPro: recomendaría usarlo export GREP_COLOR='1;35;40'porque 35 es cian y 30 es gris, 40 es fondo negro, por lo que se ve oscuro. Pero si funciona! :)
cwd

Mi terminal se ha vuelto mucho más hermosa. Sé que la verdadera belleza está en el interior, pero soy superficial.
Sridhar Sarnobat

1

No creo que la configuración predeterminada de Snow Leopard sea usar color para grep. He tenido éxito en mi cuadro OS X al agregar una línea como alias grep=grep --color=alwaysen mi .bashrcpara garantizar un resaltado consistente.


66
--color=alwayspuede ser un problema si la salida de grep se canaliza a otro comando. --color=autoemitirá los caracteres de control solo cuando la salida se muestre directamente en el terminal
Gowtham

1

No es bash.profileni bash_profilees .bash_profile.

En cuanto a los colores en tu Mac, solo pon esto en tu ~/.bash_profile:

export GREP_OPTIONS='--color=auto'
export GREP_COLOR='1;30;40'

Asegúrese de usar .bash_profileen su directorio de inicio ( ~/).

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.