根据日期范围从表格数据中提取行

根据日期范围从表格数据中提取行

我有一个有 10 列的表。其中之一是日期列,我想获取特定日期范围的数据。例如,我有 2016 年及以后的数据,但我只想获取 2018 年 1 月 1 日到 2018 年 12 月 31 日期间的数据。是否可以使用awk命令获取这些数据?

答案1

您可以将日期重新格式化为更有用(且更明确)的 YYYY/mm/dd 格式,并使用字符串比较。

awk -v date_column=8 '
   {date = substr($date_column, 7, 4)"/"substr($date_column, 1, 5)}
   date >= "2018/01/01" && date <= "2018/12/31"'

相关内容