awk 中的时间戳比较

Eng*_*ng7 3 awk text-processing

考虑下面的文件,我如何比较两个时间戳,注意时间部分可以忽略不计。

foo,boo,2038-01-18T12:00:00+02:00
foo,boo,2015-09-12T01:31:24+03:00
foo,boo,2015-08-04T03:15:38+03:00
Run Code Online (Sandbox Code Playgroud)

我尝试substring使用以下代码按日期制作它并将其与其他日期进行比较,即: 2015-08-12

awk -F, '{$3=substr($3,1,10)}{if($3<2015-08-12){print $0}}'
Run Code Online (Sandbox Code Playgroud)

但它没有用。

期望的输出:

foo,boo,2015-08-04T03:15:38+03:00
Run Code Online (Sandbox Code Playgroud)

或者:

foo,boo,2015-08-04
Run Code Online (Sandbox Code Playgroud)

cuo*_*glm 7

您需要双引号日期,以强制字符串比较:

$ awk -F, '$3 < "2015-08-12"' <file
foo,boo,2015-08-04T03:15:38+03:00
Run Code Online (Sandbox Code Playgroud)