Pipe auf weniger, aber die Hervorhebung beibehalten

32

Ist es möglich, Ausgaben (z. B. dmesg) an einen Befehl wie less(oder einen gleichwertigen) weiterzuleiten und die vom ursprünglichen Befehl verwendete Textmarkierung beizubehalten?

Beispiel: links dmesg | lessrechtsdmesg

<code> dmesg |  weniger </ code> vs <code> dmesg </ code>

apoc
quelle

Antworten:

37

Verwenden Sie den --humanParameter, um farbige dmesgAusgaben in einer lessähnlichen Umgebung anzuzeigen .

dmesg --human --color=always

Verwenden Sie alternativ den folgenden Befehl, um ähnliche Ergebnisse zu erzielen.

dmesg --color=always | less -R

Viele andere Dienstprogramme , die farbige Ausgabe erzeugen ( ls, grepusw.) haben eine ähnliche --color=alwaysOption.

Steven
quelle
1
Eigentlich --humanist mehr als nur erhalten Farbe und Rohr less: es auch Markierungen Daten wie zB [May23 00:58]und die anschließenden kleine Offsets als [ +6.046768]statt dem , was immer sein würde , [121187.191521]mit less.
Ruslan
Gibt es eine Möglichkeit, diese Beibehaltung der Farbformatierung automatisch zu machen, wenn ich einen txt-basierten Befehl weitergebe (nicht nur dmesg)?
Mikemtnbikes
@mikemtnbikes Sie müssen das --color=alwaysvom Programm bereitgestellte verwenden. Ein Programm weiß, ob es auf einer Pipe ausgegeben wird, und kann daher entscheiden, ob Farbe ausgegeben werden soll oder nicht.
Steven