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

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

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

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

3 ответа

Решение

Используйте человеческий параметр для просмотра цветных dmesg вывод в lessсреда

dmesg --human --color=always

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

dmesg --color=always | less -R

Многие другие утилиты, которые производят цветной вывод (ls, grepи т. д.) есть похожее --color=always вариант.

Общая команда для сохранения окраски независимо от программы, обеспечивающей вывод, — этоunbufferкоманда (которая является частьюexpectупаковка).

Использование:

      unbuffer dmesg | less -R

Да, это работает хорошо.

  • для дерева:tree -C | less -r

  • для лс:ls -lA --color=always | less -r

  • для pytest:py.test --color=yes | less -r

Другие вопросы по тегам