題 如何將less的當前內容保存到文件中?


如果我將命令的結果通過管道傳輸給 less 然後我決定將內容保存到文件中,這可能嗎?

我試過設置一個標記 a 在緩衝區的末尾,然後返回頂部並使用 |avi 發送全部內容 vi,但這不起作用。


82
2018-05-31 09:46


起源


如果您指示vi從stdin加載,那麼您的原始技術將起作用 |avi -。 - Joe Shaw


答案:


在我的系統上, man less 說

       s文件名
              將輸入保存到文件。這僅在輸入為a時有效
              管道,不是普通文件。

適合我!


97
2018-05-31 10:09



太好了,謝謝!工作一種享受。 - Jonathan Day
不知何故,這對我不起作用 - 輸入's'將窗口移動一行。我在Mac上。 - benroth
@benroth:你可能有一個 lesskey 更改正常命令的文件。看到 man lesskey - RedGrittyBrick
s 對我來說也不起作用,但是 -o file 確實。 - user1338062
當我輸入'h'來獲得互動幫助時,為什麼在地球上沒有提到這個?如果您已閱讀互動幫助,請+1,因此不考慮諮詢 man less... - Peter V. Mørch


接受的答案在Mac上不起作用 - 正如@benroth所說,迫切 s 只是向下移動 - 但你可以使用不同的方法。

less --help

|Xcommand            Pipe file between current pos & mark X to shell command.

A mark is any upper-case or lower-case letter.
Certain marks are predefined:
     ^  means  beginning of the file
     $  means  end of the file

所以,如果你去緩衝區的頂部(<) 然後:

|$cat > /tmp/foo.txt

緩衝區的內容將被寫出 /tmp/foo.txt


21
2018-04-18 17:05



當您想通過另一個命令管道當前正在查看的緩衝區時,此方法特別有用。 - Doron Behar


當你的 less 打開後,您可以將完整輸出保存到文件中。 喜歡 vim,less支持命令。

只需鍵入密鑰即可 s, 然後 less 將詢問您要保存內容的文件的名稱,只需鍵入文件名,然後鍵入 Enter

乾杯


3
2017-11-12 19:25





使用 > 運營商。例如: less foo.bar > output.txt


0
2018-05-31 09:49



謝謝@Dror,但我已經處於較少的應用程序中,而不再是bash提示符 - Jonathan Day
對Q / A的寶貴貢獻。人們需要一種方法來編寫多個文件,而不是開始一個完全獨立的問題 較少的觀眾 可以受益很多。節省了我幾個小時的工作(經過大量的搜索)。謝謝! - L. D. James


我相信,我的回答太晚了。但僅供參考, 響應benroth對上述問題的關注:對於OSX用戶,總是可以選擇使用選項“-l”將尋呼機的內容轉儲到日誌文件中(讀取 DASH ELL)在冒號提示。

尋呼機將要求提供日誌文件。鍵入並按[CR]


0
2017-12-27 23:27





不,如果你開始少了,但如果你知道你想要發送它少和一個文件然後你可以使用tee命令

command | tee out_file | less

-1
2018-05-31 09:51



謝謝馬克,但如果我已經少了,我會特別注意如何去做 - Jonathan Day