Трубить меньше, но сохранить выделение
Можно ли передать данные по трубопроводу (например, dmesg
) как команда less
(или эквивалент) и сохранить выделение текста, используемого исходной командой?
пример: слева dmesg | less
справа dmesg
dmesg | меньше code> против dmesg code">
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