提取非标准日期范围内的行,许多日期。例如:2015-08-01 17:00:00 到 2015-08-02 05:00
Extract lines within non standard date range, many dates. Ex: 2015-08-01 17:00:00 to 2015-08-02 05:00
时间还早,请原谅我的语言不通
我有一个文件,其中包含我想根据日期和时间范围进行子集化的记录。具体从第一天 17:00 到第二天 05:00,包括在内。
UniqueData, 2015-08-01 17:00:00,MiscNotImportantData
UniqueData, 2015-08-01 17:00:00,MiscNotImportantData
UniqueData, 2015-08-01 17:00:00,MiscNotImportantData
...
UniqueData, 2015-08-02 05:00:00,MiscNotImportantData
UniqueData, 2015-08-02 05:00:00,MiscNotImportantData
UniqueData, 2015-08-02 05:00:00,MiscNotImportantData
- 月份不变。
- 时间以 30 秒为单位递增。
- 11 条记录将包含相同的日期和时间,但在日期和时间之前包含唯一的数据。
最后,我想要的是一个包含循环记录的文件(例如:一个文件包含从 2015-08-01 17:00:00 到 2015-08-02 05:00:00)
我的 regex/grep/etc foo 很弱。使用 Java、Perl 或任何 Linux 命令行工具的实现将非常有用。
谁能指出我正确的方向?
谢谢!
我可能会为此使用 awk
:
awk -F, ' >= " 2015-08-01 17:00:00" && <= " 2015-08-02 05:00:00"' data
用逗号分隔字段。观察数据以空白开头。如果字段二在指定范围内,则打印该行数据。
这适用于任何格式有效的日期。如果您有包含 2015-08-01 99:99:99
的记录,那么它也会被选中。它不依赖于数据文件中连续的行,尽管它们很可能是连续的。
时间还早,请原谅我的语言不通
我有一个文件,其中包含我想根据日期和时间范围进行子集化的记录。具体从第一天 17:00 到第二天 05:00,包括在内。
UniqueData, 2015-08-01 17:00:00,MiscNotImportantData
UniqueData, 2015-08-01 17:00:00,MiscNotImportantData
UniqueData, 2015-08-01 17:00:00,MiscNotImportantData
...
UniqueData, 2015-08-02 05:00:00,MiscNotImportantData
UniqueData, 2015-08-02 05:00:00,MiscNotImportantData
UniqueData, 2015-08-02 05:00:00,MiscNotImportantData
- 月份不变。
- 时间以 30 秒为单位递增。
- 11 条记录将包含相同的日期和时间,但在日期和时间之前包含唯一的数据。
最后,我想要的是一个包含循环记录的文件(例如:一个文件包含从 2015-08-01 17:00:00 到 2015-08-02 05:00:00)
我的 regex/grep/etc foo 很弱。使用 Java、Perl 或任何 Linux 命令行工具的实现将非常有用。
谁能指出我正确的方向?
谢谢!
我可能会为此使用 awk
:
awk -F, ' >= " 2015-08-01 17:00:00" && <= " 2015-08-02 05:00:00"' data
用逗号分隔字段。观察数据以空白开头。如果字段二在指定范围内,则打印该行数据。
这适用于任何格式有效的日期。如果您有包含 2015-08-01 99:99:99
的记录,那么它也会被选中。它不依赖于数据文件中连续的行,尽管它们很可能是连续的。