システムのステータスを日付別に保存する記録ファイルがあります。それを生成するスクリプトは cron 経由で実行されるため、ファイルは常に長くなります。すべての行を反復して処理するスクリプトを作成しましたが、これには非常に長い時間がかかりました。awk は大きなテキスト ファイルの処理がはるかに高速であると聞いたことがあります。私の問題は、私がそれを使ったことがないということです。awk を使用して、日付範囲内のすべてのエントリを取得することは可能ですか? 日付は で作成されたので、すべて秒単位date +%s
です。これは、範囲内のデータをすばやく見つけられるようにしたい出力の例です。たとえば、最初の列が 1344279903 と 1344280204 の間にあるすべての行を取得するにはどうすればよいでしょうか?
1344279903 | 0 | 0 | node | 1
1344279904 | 0 | 0 | node | 2
1344279905 | 0 | 0 | node | 3
1344280202 | 0 | 0 | node | 1
1344280203 | 0 | 0 | node | 2
1344280204 | 99 | 0 | node | 3