Canaliza a menos pero mantén el resaltado

32

¿Es posible canalizar la salida (por ejemplo dmesg) a un comando como less(o equivalente) y mantener el resaltado de texto utilizado por el comando original?

ejemplo: a la izquierda dmesg | lessa la derechadmesg

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

apoc
fuente

Respuestas:

37

Use el --humanparámetro para ver dmesgresultados en color en un lessentorno similar.

dmesg --human --color=always

Alternativamente, use el siguiente comando para lograr resultados similares.

dmesg --color=always | less -R

Muchas otras utilidades que producen una salida de color ( ls, grep, etc.) tienen un parecido --color=alwaysopción.

Steven
fuente
1
En realidad --humanhace algo más que simplemente conservar el color y el tubo a less: data también marcas como por ejemplo [May23 00:58]y pequeños desplazamientos posteriores como [ +6.046768]lugar de lo que sería siempre [121187.191521]con less.
Ruslan
¿Hay alguna manera de hacer que esta preservación del formato de color sea automática para cualquier momento en que esté canalizando algún comando basado en txt (no solo dmesg)?
mikemtnbikes
@mikemtnbikes Tienes que usar el --color=alwayssi lo proporciona el programa. Un programa sabe si está dando salida a una tubería y, por lo tanto, puede decidir si da salida al color o no.
Steven