awkを使用して時間範囲に基づいてファイル範囲を印刷しますか?

awkを使用して時間範囲に基づいてファイル範囲を印刷しますか?

簡単なことをしましたが、awkこれを行う方法が見つかりません!次のように、年、ユリウス暦の日時の名前を付けた項目を含むテキストファイルがあります。

blah_2012251_130500_blah  
blah_2012251_131000_blah  
blah_2012251_131500_blah  
...  
blah_2012253_063000_blah  

特定の時間範囲内の項目のみを含む新しいファイルを作成する方法を見つけようとしています。たとえば、2012年251日午後2時2分(140200)から2012年252日午前6時7分(060700)までの時間を含むファイルを含める必要があります。

blah_2012251_140000_blah  
blah_2012251_140500_blah
...  
blah_2012252_060500_blah
blah_2012252_061000_blah

また、この例のように、ファイルが常に5分ごとに増加するわけではないので、開いた範囲でなければなりません。

ベストアンサー1

次は動作します。必要に応じてフィールド番号2と3を調整します。

 awk -F'_' 'int($2""$3) > 2012252140600 && int($2""$3) < 2012252180700' filename

おすすめ記事