Если я использую команду ниже, которая окрашивает выводимые строки в желтый цвет, она по сути превращает less в cat, печатая весь файл и отключая все функции, которые мне нужны в less, такие как остановка на разрывах страниц, разрешение навигации и т. д. Большинство аргументов, которые вы можете использовать для манипуляций с less, также игнорируются. Есть ли способ предотвратить нарушение функций less последовательностью цветов sed?
less file | sed -e 's/\(.*DATA.*\)/\o033[93m\1\o033[39m/'
решение1
Возможно, вы имели в виду использовать less
на выходе sed
, а не наоборот:
sed -e 's/\(.*DATA.*\)/\o033[93m\1\o033[39m/' file | less -R
Дальнейшее чтение:
решение2
Если вы хотите передать вывод, вам вообще less
не нужна команда, просто укажите, как следует подсвечивать искомый шаблон (например, в ):sed
less
.bashrc
export LESS_TERMCAP_so=$'\e[93m' # begin standout mode
export LESS_TERMCAP_se=$'\e[m' # end standout mode
и затем запустить less
с -p
опцией:
less -p '.*DATA.*' file