「grep」よりも「less」の方がはるかに遅いのはなぜですか?


12

いくつかのギグであるファイルを調べなければならないことがあり、grepで探しているものを見つけることは、少ない場合よりもはるかに速いことに気付きました。なぜそうなるのでしょうか?複雑な正規表現でさえも、特定のタグ/単語を探すことについて話している。


答えではありませんが、grepを使用してから結果をlessに渡すパイプを使用することを検討しましたか?
ridogi

1
はい、通常は-A / B / Cでgrepを使用して、検索対象に関するコンテキストを取得しますが、ログファイルを表示し、スクロールしてそこから段階的に検索できるようにする必要があるため、より柔軟性が必要な場合があります/ before
naumcho

回答:


9

デフォルトでは、「less」は行番号を計算するため、速度が低下する可能性があります。「-n」オプションを使用して行番号の計算を抑制し、速度が向上するかどうかを確認してください。


2
grepが一致を検出すると行カウントが発生すると思います-「行番号の計算」が表示され、何もする前に時間がかかりますが、ctrl + cでキャンセルできます。-nが実際の検索速度に役立つようには見えません。
ナウムチョ

それは私のためのトリックをしました。10GB近くのログファイルを開き、ファイルの最後に到達するためにGキーを押すと、数十秒と瞬時の応答のように大きな違いがあることに気付きました。
マルチェロロマーニ

@MarcelloRomaniシフト-Gは、検索とは何の関係もかかわらず、持っていない
マーティンKonecny
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.