如果我使用下面的命令,将输出的行着色为黄色,它实际上会将 less 变成 cat,打印出整个文件并禁用我需要的所有功能,例如在分页符处停止,允许导航等。大多数可用于操作 less 的参数也会被忽略。有没有办法防止 sed 颜色序列破坏 less 的功能?
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