このようにフォーマットされた .csv ファイルがあります。
myfile.csv
**Date,Timestamp,Data1,Data2,Data3,Data4,Data5,Data6**
20130730,22:08:51.244,APPLES,Spain,67p,blah,blah
20130730,22:08:51.244,PEARS,Spain,32p,blah,blah
20130730,22:08:51.708,APPLES,France,102p,blah,blah
20130730,22:10:62.108,APPLES,Spain,67p,blah,blah
20130730,22:10:68.244,APPLES,Spain,67p,blah,blah
ファイル内のタイムスタンプとミリ秒単位で完全に一致しない可能性が最も高いタイムスタンプをフィードし、特定の grep 検索に一致する前の行を見つけたいと考えています。
たとえば、次のようなものです。
cat myfile.csv | grep 'Spain' | grep 'APPLES' | grep -B1 "22:09"
戻るべき
20130730,22:08:51.244,APPLES,Spain,67p,blah,blah
しかし、これまでのところ、grep で正確なタイムスタンプを使用して動作させることしかできません。これらを時系列として扱う方法はありますか?(それがここでの問題だと推測しています - 純粋なパターンマッチングを試みており、不当に見つけられないわけではありません)