Background-Process

如何配置less將非顯示數據讀入緩衝區?

  • September 1, 2017

我最近發現您可以開始並立即將後台長時間執行的原始碼搜尋通過管道傳輸到 less:

grep -r something | less &

有沒有辦法將less更多的輸出讀入記憶體,而不是目前顯示的“在後台”,這樣當我決定查看搜尋結果時,我不需要等待。

預設情況下,如果您通過管道傳輸命令,bashshell 使用pipe(3) libc 呼叫來編織子任務的文件描述符。它的預設內部緩衝區大小僅為 64K。

不過有個工具

buffer

對於任務,包含在大多數發行版中。預設情況下,它使用 1MB 緩衝區,但您可以將其增加到任意大。例如

grep ..anything, anywhere.. | buffer -m $[1<<30] | less &

可能就足夠了。dd:-)它還有許多其他不錯的功能(例如,它可以. :-)

引用自:https://unix.stackexchange.com/questions/389600