可能性のある巨大なログファイル(> 50..1000mb)から、指定されたタイムスタンプ「t0」以降の最後の部分を取得したい:
__________________
|1 xxx xxx ... |
|2 xxx ... | uninteresting part
|4 ... |
|... |
___|423 ... | ___ timestamp t0
|425 xxx ... |
|437 ... |
|... | <-- i want this part ( from t0 to EOF)
|__________________|
追加の制約は、単純なbashコマンドを使用してこれを実行したいということです。簡単な解決策は次のとおりです。
awk '$1 > 423' file.log
しかし、これはすべての意図しない行を含むファイル全体をスキャンします。コマンドテールがありますが、私は彼に私が知らない最後の行の数を与えることができます-私はタイムスタンプを知っているだけです。最初のタイムスタンプが一致しないときに後ろから「目覚め」て処理を停止する方法はありますか?