![less 與 sed 顏色序列結合可防止分頁](https://rvso.com/image/89161/less%20%E8%88%87%20sed%20%E9%A1%8F%E8%89%B2%E5%BA%8F%E5%88%97%E7%B5%90%E5%90%88%E5%8F%AF%E9%98%B2%E6%AD%A2%E5%88%86%E9%A0%81.png)
如果我使用下面的命令,將輸出的行著色為黃色,它實際上會將 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
不需要命令,只需設定如何突出顯示搜尋到的模式(例如在 中):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