表示されないデータをバッファに読み込むには、lessをどのように設定しますか?

表示されないデータをバッファに読み込むには、lessをどのように設定しますか?

私は最近、長期実行ソースコードの検索を開始し、すぐにバックグラウンドで送信できることを発見しました。

grep -r something | less &

less検索結果を表示することを決定するときに待つ必要がないように、現在の「バックグラウンド」に表示されているものよりも多くの出力をメモリに直接読み込む方法はありますか?

答え1

デフォルトでは、コマンドがパイプされると、bashシェルは以下を使用します。パイプ(3)サブタスクのファイル記述子を作成するためにlibcによって呼び出されます。デフォルトの内部バッファサイズは64Kです。

しかし、ツールがあります

buffer

これを行うために、ほとんどのディストリビューションに含まれています。デフォルトでは1MBバッファを使用しますが、必要なサイズに増やすことができます。例えば

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

それで十分だと思います。 :-) 他の良い機能もたくさんあります(例えば、ように動作するか、ddnバイトのチャンクの後にハッシュをstderrに印刷します)。キラーアプリ。 :-)

関連情報