Tuyautez moins mais gardez la surbrillance

32

Est-il possible de diriger la sortie (par exemple dmesg) vers une commande comme less(ou équivalente) et de conserver la surbrillance du texte utilisée par la commande d'origine?

exemple: à gauche dmesg | lessà droitedmesg

<code> dmesg |  moins </code> vs <code> dmesg </code>

apoc
la source

Réponses:

37

Utilisez le --humanparamètre pour afficher la dmesgsortie colorée dans un lessenvironnement similaire.

dmesg --human --color=always

Vous pouvez également utiliser la commande suivante pour obtenir des résultats similaires.

dmesg --color=always | less -R

De nombreux autres services publics qui produisent une sortie couleur ( ls, grep, etc.) ont une même --color=alwaysoption.

Steven
la source
1
En fait, --humanfait plus que simplement conserver la couleur et le tuyau less: il marque également les dates comme par exemple [May23 00:58]et les petits décalages ultérieurs au [ +6.046768]lieu de ce qui serait toujours [121187.191521]avec less.
Ruslan
Existe-t-il un moyen de rendre cette conservation de la mise en forme des couleurs automatique à chaque fois que je passe une commande basée sur txt (pas seulement dmesg)?
mikemtnbikes
@mikemtnbikes Vous devez utiliser le --color=alwayssi fourni par le programme. Un programme sait s'il sort sur un tuyau et peut donc décider de sortir la couleur ou non.
Steven