less 与 sed 颜色序列结合可防止分页

less 与 sed 颜色序列结合可防止分页

如果我使用下面的命令,将输出的行着色为黄色,它实际上会将 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不需要命令,只需设置如何突出显示搜索到的模式(例如在 中):sedless.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

相关内容