Трубить меньше, но сохранить выделение

32

Можно ли передать вывод (например dmesg) в команду, подобную less(или эквивалентную), и сохранить выделение текста, используемое исходной командой?

пример: слева dmesg | lessсправаdmesg

<code> dmesg |  меньше </ code> против <code> dmesg </ code>

Апок
источник

Ответы:

37

Используйте --humanпараметр для просмотра цветного dmesgвывода в less-подобной среде.

dmesg --human --color=always

В качестве альтернативы используйте следующую команду для достижения аналогичных результатов.

dmesg --color=always | less -R

Многие другие утилиты, которые выдают цветной вывод ( ls, grepи т. Д.), Имеют аналогичную --color=alwaysопцию.

Стивен
источник
1
На самом деле --humanделает больше, чем просто сохраняет цвет и канал less: он также помечает даты как, например, [May23 00:58]и последующие небольшие смещения [ +6.046768]вместо того, что всегда будет [121187.191521]с less.
Руслан
Есть ли способ сделать автоматическое сохранение цветового форматирования в любое время, когда я передаю какую-либо команду, основанную на txt (не только dmesg)?
mikemtnbikes
@mikemtnbikes Вы должны использовать, --color=alwaysесли это предусмотрено программой. Программа знает, выводит ли она в трубу, и поэтому может решить выводить цвет или нет.
Стивен