less 與 sed 顏色序列結合可防止分頁

less 與 sed 顏色序列結合可防止分頁

如果我使用下面的命令,將輸出的行著色為黃色,它實際上會將 less 變成 cat,列印整個檔案並停用我需要的所有功能 less,例如在分頁符號處停止,允許導航等。多數可用於操作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

相關內容