Grep no terminal do Mac OS X – exibindo apenas uma cor

Grep no terminal do Mac OS X – exibindo apenas uma cor

Estou acostumado a greppoder colorir o nome do arquivo, o número da linha e a própria correspondência. Esses três deveriam ser de cores diferentes. Isso funciona perfeitamente em um terminal Linux e até mesmo no MinGW no Windows, mas no OS X, mesmo se eu definir, GREP_COLORsó consigo obter cores no resultado correspondente.

A versão do greppacote com o sistema operacional é muito antiga?

10.7.3 no MBA 13" com Terminal.app.

Responder1

Como Ignacio já disse, o OS X grep está um pouco desatualizado (é a versão 2.5.1). Você pode instalar o GNU grep mais recente.

Como sempre, você pode instalar a maioria das ferramentas Linux ausentes no OS X atravésCerveja caseira:

brew install grep

Isso será instalado ggreppara não substituir o arquivo grep. Se você quiser mudar isso, veja a mensagem informativa:

Todos os comandos foram instalados com o prefixo "g". Se precisar usar esses comandos com seus nomes normais, você pode adicionar um diretório "gnubin" ao seu PATH do seu bashrc como:

PATH="$(brew --prefix)/opt/grep/libexec/gnubin:$PATH"

Além disso, você pode ativar uma opção de cor e excluir alguns diretórios por padrão, o que pode torná-lo mais útil:

alias grep="ggrep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox}"

Adicione isso à sua ~/.bash_profileconfiguração de shell ou a qualquer outra configuração de shell que você esteja usando.

Responder2

Correto. Múltiplas cores foram suportadas pela primeira vez no GNU grep 2.5.3.

informação relacionada