awk小于或等于';行不通

awk小于或等于';行不通,awk,gawk,Awk,Gawk,tmp.log: [2016-12-01 00:00:01] ... [2016-12-01 00:00:02] .... [2016-12-01 00:00:03] ..... [2016-12-01 00:00:04] ...... 命令: awk '$0>="[2016-12-01 00:00:01]" && $0<="[2016-12-01 00:00:03]"' tmp.log 预期: [2016-12-01 00:00:01] ... [2016

tmp.log:

[2016-12-01 00:00:01] ... 
[2016-12-01 00:00:02] .... 
[2016-12-01 00:00:03] ..... 
[2016-12-01 00:00:04] ......
命令:

awk '$0>="[2016-12-01 00:00:01]" && $0<="[2016-12-01 00:00:03]"' tmp.log
预期:

[2016-12-01 00:00:01] ...
[2016-12-01 00:00:02] ....
[2016-12-01 00:00:03] .....

为什么“因为$0是你的全部记录,第三行是“[2016-12-01 00:00:03]”,比“[2016-12-01 00:00:03]”多

所以它就像比较
[2],所以使用$1而不是$0,假设FS是默认值(空格,标签),如下:-)@fedorqui-它正在比较“[2016-12-01 00:00:03]”。。。。。“@NeronLeVelu-错了$1在所有记录中都是“[2016-12-01”。@fedorqui字符串比较是一个选项,因为示例中使用了日期格式,即使您在概念上完全正确。更重要的选项是使用mktime在之前转换历元值
[2016-12-01 00:00:01] ...
[2016-12-01 00:00:02] ....
[2016-12-01 00:00:03] .....