我有一个这样格式化的 .csv 文件;
我的文件.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 中的确切时间戳一起工作。有没有办法让它将这些视为时间序列?(我猜这就是问题所在 - 它正在尝试纯模式匹配,而不是无理地找不到一个)