msgattrib
exibe cores somente se executadas a partir do terminal real. Você pode usar o comando unbuffer
que faz parte de expect
para fazer msgattrib
pensar que ele é executado a partir do terminal real e usar a opção -r
para manipular os escapes ANSI em less
:
unbuffer msgattrib --untranslated pl.po | less -r
Você pode fazer isso em qualquer comando que produz cores (códigos de escape ANSI) com base na existência de tty.