Less
在 less 中對打開的文件執行我自己的命令。是否可以?
我想知道是否可以通過命令執行我自己的
less
命令。有了這個,我的意思是能夠打開一個文件less
,然後在保持螢幕不變的同時對我所看到的內容(甚至整個文件,如果需要)執行我的一些命令。例如,我希望能夠執行不同的腳本,以不同的方式為我目前看到的內容著色,或者顯示/隱藏文件中的某些行。我知道我每次都可以進行不同的執行,
cat <file> | my-script | less -R
但這並沒有給我提供的編輯器般的體驗less
。
您可以使用
|
less 中的命令通過不同的程序通過管道傳輸文件。
- 按
|
。- 輸入標記字母 或
^
或$
或.
。- 鍵入要執行的 shell 命令。
- 按
Enter
。只有目前位置和標記之間的文件部分是管道。標記可以是
^
或$
分別表示文件的開頭和結尾,也可以是用m
命令定義的位置。如果標記在此之前,則目前位置為螢幕的行,否則為螢幕底部的行。特別是,要對整個文件進行管道傳輸,請使用<|$mycommand
或>|^mycommand
將位置設置為文件的一端,並將標記設置為另一端。要僅通過管道顯示螢幕上顯示的行,請使用標記.
。命令的輸出不會停留在螢幕上;如果你想用 less 瀏覽輸出,你需要啟動另一個實例,例如
rot13 | less
. 當您退出第二個 less 實例時,您將被帶回第一個實例。沒有辦法用從它傳輸的數據替換目前實例的內容。要查看顏色,請記住執行less -R
。