grepで見つかった行で始まるファイルのすべての行を表示するには、どのコマンドを使用する必要がありますか?
だからtailのようなものを想像しましたが、grepで識別した行から始めました。
たとえば、ログを見ている時間が含まれているポイントを識別できます。したがって、特定の日時を含むログ行の後のすべてのログ行を表示したいと思います。
答え1
これにより、トリックを実行できます。
sed -n -e "/pattern/,\$p" filename
答え2
grepの-Aオプションはこれを行います。一般的な使用法は状況に応じたものです。後ろに一致、-B はコンテキストを意味します。今後マッチ。 -m オプションは一致の数を制限します。
grep -A1000000 -m1 <search> <file>
最大1,000,000行のコンテキストを出力します(この機能が機能するには、この数がファイルの行数より大きいことを確認してください。ファイルが1,000,000行より長い場合、grepは正しいツールではない可能性があります)。同様に、
grep -B1000000 -m1 <search> <file>
最初の一致までのすべての行を印刷します。 (私が知っている限り、これはこれらのオプションを意図的に使用するのではなく、動作方法の自然な副作用です。代替案はgrep以外のプログラムを使用することです。)