在 less 中對開啟的檔案執行我自己的命令。是否可以?

在 less 中對開啟的檔案執行我自己的命令。是否可以?

我想知道是否可以通過該less命令運行我自己的命令。我的意思是能夠打開一個文件less,然後對我所看到的內容(甚至整個文件,如果需要)運行一些命令,同時保持螢幕原樣。例如,我希望能夠運行不同的腳本,以不同的方式為我目前看到的內容著色,或顯示/隱藏文件中的某些行。

我知道我每次都可以進行不同的運行,cat <file> | my-script | less -R但這並沒有給我類似編輯器的體驗less

答案1

您可以使用|less 中的命令透過不同的程式傳輸檔案。

  1. |
  2. 輸入標記字母 或^$.
  3. 鍵入要執行的 shell 指令。
  4. Enter

僅透過管道傳輸目前位置和標記之間的文件部分。這個標記可以是^$分別表示檔案的開頭和結尾,也可以是用指令定義的位置m。如果標記在前面,則目前位置為螢幕最下一行,否則為螢幕底部行。特別是,要透過管道傳輸整個文件,請使用<|$mycommand>|^mycommand將位置設置為文件的一端,並將標記設置為另一端。若要僅透過管道傳輸螢幕上顯示的行,請使用 標記.

命令的輸出不會停留在螢幕上;如果您想要用 less 瀏覽輸出,則需要啟動另一個實例,例如rot13 | less.當您退出第二個 less 實例時,您將回到第一個實例。無法用從目前實例傳送的資料來取代目前實例的內容。要看到顏色,請記住運行less -R

相關內容