私のログファイル(log.txt)が次のようになっているとしましょう。
2014-01-01 22:30:30 something happened....
2014-01-01 22:30:31 something happened....
2014-01-01 22:30:41 something happened....
このファイルを追跡して過去のログを表示し、追跡を続行したいと思います。
つまり
tail <some magic to specify last 1 hour> -f log.txt
その後、出力は次のようになります。
2014-01-01 21:30:41 something happened....
...
2014-01-01 22:30:30 something happened....
2014-01-01 22:30:31 something happened....
2014-01-01 22:30:41 something happened....
これを行うツールはありますか?
ベストアンサー1
onelinerではgrepとtailの組み合わせを使用できます。
grep "2014-01-01 21:" log.txt; tail -f log.txt
その時間から始めて、すべての内容を印刷し続けます。
または、awkを使用して、特定の時間の開始からファイルの終わりまですべての内容を印刷し、その後も追跡を続けることができます。これにより、必要に応じて過去数時間を追跡できます。
awk '/2014-01-01 21:/' log.txt; tail -f log.txt