Canalize para menos, mas mantenha o realce


32

É possível canalizar a saída (por exemplo dmesg) para um comando como less(ou equivalente) e manter o texto destacado usado pelo comando original?

exemplo: à esquerda dmesg | lessà direitadmesg

<code> dmesg |  menos </code> vs <code> dmesg </code>

Respostas:


37

Use o --humanparâmetro para visualizar a dmesgsaída colorida em um lessambiente semelhante.

dmesg --human --color=always

Como alternativa, use o comando a seguir para obter resultados semelhantes.

dmesg --color=always | less -R

Muitas outras utilidades que produzem saída de cor ( ls, grep, etc.) têm uma semelhante --color=alwaysopção.


1
Na verdade, --humanfaz mais do que preservar a cor e tubo para less: Marca também datas como por exemplo [May23 00:58]e posteriores pequenos deslocamentos como [ +6.046768]em vez do que seria sempre [121187.191521]com less.
Ruslan

Existe uma maneira de tornar automática essa preservação da formatação de cores a qualquer momento que eu estiver executando algum comando baseado em txt (não apenas no dmesg)?
Mikemtnbikes

@mikemtnbikes Você precisa usar o --color=alwaysse for fornecido pelo programa. Um programa sabe se está enviando para um tubo e, portanto, pode decidir emitir a cor ou não.
22418 Steven
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.