Pipe
使用更少的管道?
less 可以跟隨(通過按 F)管道輸入(類似於文件)嗎?對於正在寫入的文件,命令
less <file>
按 F 時將跟隨文件。
但是,如果我有一個將輸出直接通過管道傳輸到 less 的命令,就像這樣
command | less
按 F 不會有任何作用。
所以看起來管道不能像文件一樣被遵循?或者可能與寫入 STDERR 的命令有關?我想要達到的效果總是看到命令的最新輸出:就像按住 PageDown 一樣!
一個相關的評論適用於 G (go to end):當管道直接到 less 時,它不會工作。
按
F
或G
嘗試less
到達輸入 EOF。如果輸入是管道,則less
掛起直到管道在另一側關閉(而不是“什麼都不做”)。這可以通過將命令輸出保存到後台的臨時文件中來解決,然後將其用作以下內容的輸入
less
:command > /tmp/x & less +F /tmp/x; kill %; rm /tmp/x
沒有選項只能這樣做
less
;但是,我承認它會很有用。
less 可以跟隨(通過按 F)管道輸入(類似於文件)嗎?
是的,從版本 474 開始。
相關:有沒有辦法在不停止管道中其他程序的情況下退出“更少”跟隨模式?
作為參考,F 不使用管道的問題在已知錯誤列表中的參考編號為 300,標題為F 命令不適用於管道輸入。
一個相關的評論適用於 G (go to end):當管道直接到 less 時,它不會工作。
它從版本 466 開始工作。引用此版本的發行說明:
新命令 ESC-G 轉到管道中目前緩衝數據的末尾