278 votos

Menos y Grep: que color de resultados cuando se utiliza un tubo de grep para menos

Puedo usar la opción --opción de color de grep mucho, pero yo uso a menudo menos así. ¿Cómo puedo tubo grep resultados de más a menos y todavía conservan el colorante. (O es eso posible?)

grep "search-string" -R * --colour | less

EDITAR:

Estoy buscando una solución directa o nada equivalente a este.

317voto

talonx Puntos 262

Cuando usted simplemente ejecutar grep --color implica grep --color=auto que detecta si el resultado es un terminal y si lo permite colores. Sin embargo, cuando se detecta el tubo se desactiva para colorear. El siguiente comando:

grep --color=always -R "search string" * | less

Siempre va a habilitar para colorear y anular la detección automática, y usted conseguirá el color de resaltado en less.

EDIT: Aunque el uso de sólo less trabaja para mí, quizás la versión anterior requieren de la -R flag para manejar los colores, como therefromhere sugerido.

33voto

Damian Powell Puntos 162

Puedes poner esto en tu .bashrc archivo:

export GREP_OPTIONS="--color=always"

o crear un alias como este:

alias grepc="grep --color=always"

y usted tendrá que usar la -R opción less, como se ha señalado por therefromhere

12voto

Iazel Puntos 111

En caso como este, prefiero crear peces pequeños archivos y ponerlos en /usr/local/bin.
Yo normalmente uso grep en el recursiva manera en la pwd, así que esa es mi personal de secuencia de comandos:

#!/bin/sh
grep --color=always -r "$@" . | less -R

Y luego he copiado como /usr/local/bin/g (sí, yo lo uso mucho)

1voto

Cesar Puntos 28

No alias "grep", mejor alias "menos" que nunca se utiliza por los proyectiles. En su .bashrc acaba de poner: alias less="less -r".

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X