
TEl comando grep es la herramienta de facto para buscar archivos de texto. Sin embargo, si tiene demasiadas coincidencias, puede resultar difícil encontrar el texto que desea en los resultados de búsqueda. Entonces grep viene con --color = "auto" Oportunidad. Rodea la cuerda a juego con el color, lo que mejora la salida. Ahora sabe que grep puede colorear el texto o las palabras coincidentes en su salida. Sin embargo, esta opción está deshabilitada de forma predeterminada. Así que veamos cómo colorear grep de forma predeterminada para mostrar el archivo completo con coincidencias resaltadas en sistemas Linux o similares a Unix.
grep con sintaxis de salida de color
La sintaxis es la siguiente:
grep --color 'string' /path/to/file fgrep --color foo file egrep --color 'foo|bar' input grep --color='auto' [options] patterns file
Por ejemplo, busque una palabra llamada vivek en / etc / passwd con grep coloreado como este:grep --color="auto" vivek /etc/passwd
Rodee el texto coincidente de la siguiente manera:
vivek:x:1000:1000:Vivek Gite:/home/vivek:/usr/bin/bash
Buscar cadena con grep con resaltado de color habilitado
Pasa el --Color Opción para el comando grep de la siguiente manera:$ grep --color="auto" -i error /var/log/messages
Producción:
............ ... Oct 9 16:12:14 vivek-desktop kernel: [ 11.555442] bt878: probe of 0000:05:00.1 failed with error -22 Oct 10 17:35:28 vivek-desktop kernel: [ 10.564710] bt878: probe of 0000:05:00.1 failed with error -22 Oct 11 10:15:34 vivek-desktop kernel: [ 12.187477] bt878: probe of 0000:05:00.1 failed with error -22 Oct 11 14:29:56 vivek-desktop kernel: [ 11.135309] bt878: probe of 0000:05:00.1 failed with error -22 .......... ... ....
Ahora todo el texto coincidente se mostrará en rojo. los --Color Opción para coincidencias en entrada en color rojo por defecto. El color se agrega mediante secuencias de escape ANSI. Para cambiar el color, use la variable de entorno GREP_COLOR. A continuación, el fondo se establece en rojo y el primer plano en blanco:$ export GREP_COLOR='1;37;41'
$ egrep --color=auto -i '(error|fatal|warn|drop)' /var/log/messages
Recomiendo agregar lo siguiente a su archivo ~ / .bash_profile ~ / .bashrc:$ vi ~/.bash_profile
Agregue el siguiente alias:export GREP_COLOR='1;37;41'
alias grep='grep --color=auto'
Guarde y cierre el archivo. Tenga en cuenta que --Color La opción funciona con muchas utilidades de texto GNU, así que siéntase libre de usarla.
Grep coloreado para mostrar todo el archivo con coincidencias resaltadas
Hay tres opciones que les podemos transmitir --Color[=WHEN] o --Color[=WHEN]. CUÁNDO puede ser:
- --color = nunca : Desactiva la coloración
- --color = siempre : Intente siempre mostrar las cadenas / palabras coincidentes en color en la terminal
- --color = auto : Cosas automáticas
Encuentre fácilmente cadenas con la función de resaltado de color grep todo el tiempo
Necesita configurar o crear un alias de bash permanente en Linux / Unix en su ~ / .bashrc de la siguiente manera:
alias grep='grep --color=always' alias egrep='egrep --color=always' alias fgrep='fgrep --color=always' # optional alias xzegrep='xzegrep --color=auto' alias xzfgrep='xzfgrep --color=auto' alias xzgrep='xzgrep --color=auto' alias zegrep='zegrep --color=auto' alias zfgrep='zfgrep --color=auto' alias zgrep='zgrep --color=auto'
A continuación, se explica cómo ver la salida de grep en color con resaltado con otros comandos
Aquí hay un ejemplo de dónde --color = siempre hace que los caracteres de control «sin procesar» se muestren con el comando less:
grep --color=always foo /path/to/input | less -r grep --color=always dns /etc/passwd | less -r # the following will not work as we failed to pass the always option grep --color dns /etc/passwd | less -r
Guías exclusivas para seguidores de Patreon 🤓
- Sin publicidad ni seguimiento
- Instrucciones detalladas para desarrolladores y administradores de sistemas en Opensourceflare✨
- Únase a mi Patreon para ayudar a los creadores de contenido independientes y lea las guías más recientes:
También funciona con el comando more:grep --color dns /etc/passwd | more
Resumir
los --Color Escapa de las cadenas coincidentes (no vacías), las líneas coincidentes, las líneas de contexto, los nombres de archivo, los números de línea, las compensaciones de bytes y los separadores (para campos y grupos de líneas de contexto) para mostrarlos en color en la terminal. Los colores están definidos por la variable de entorno GREP_COLORS. La variable de entorno en desuso GREP_COLOR todavía se admite, pero su configuración no tiene prioridad. Revise la página de manual del comando grep ingresando el siguiente comando man:man grep
man egrep
PUBLICIDAD