Como posso fazer com que o grep respeite as cores em um tubo?

Como posso fazer com que o grep respeite as cores em um tubo?

Em um shell Linux moderno, muitos comandos (como ls) podem gerar texto colorido.

Se você canalizá-lo com outros comandos, perderá a cor. Por exemplo:

$ ls path
[... folders in blue, executables in green,..etc ]

$ ls path | grep foo
[... all in black and white]

Como posso fazer com que grepa segunda parte do tubo respeite as lscores (ou qualquer outro comando executado)?

Responder1

Você pode dizer lspara sempre colorir a saída, pois quando está gravando em um pipe com --color=autoele não adiciona cor.

Se você fizer ls --color=always path | grep --color=never fooisso, adicionará lscor e impedirá grepa substituição por suas próprias cores.

Responder2

Ambos os comandos têm um --color=alwaysargumento.

$ ls --color=always | grep e

informação relacionada