如何使用awk顺序读取行

如何使用awk顺序读取行,awk,Awk,我的文件包含以下数据: Line1 2016-03-16 01:12:26 17.70500 83.26889 11.90 Line2 2016-03-16 01:22:36 17.70500 83.26889 11.90 Line3 2016-03-16 01:42:25 17.70500 83.26889 11.90 Line4 2016-03-16 01:42:36 17.70500 83.26889 11.90 Line5 2016-03-16 02:12:25 17.70500 83.

我的文件包含以下数据:

Line1 2016-03-16 01:12:26 17.70500 83.26889 11.90
Line2 2016-03-16 01:22:36 17.70500 83.26889 11.90
Line3 2016-03-16 01:42:25 17.70500 83.26889 11.90
Line4 2016-03-16 01:42:36 17.70500 83.26889 11.90
Line5 2016-03-16 02:12:25 17.70500 83.26889 11.90
Line6 2016-03-16 02:12:35 17.70500 83.26889 11.90
我需要在以下时间与line进行比较:

Line1 2016-03-16 01:12:26 17.70500 83.26889 11.90
Line2 2016-03-16 01:22:36 17.70500 83.26889 11.90

Line2 2016-03-16 01:12:26 17.70500 83.26889 11.90
Line3 2016-03-16 01:22:36 17.70500 83.26889 11.90

Line3 2016-03-16 01:12:26 17.70500 83.26889 11.90
Line4 2016-03-16 01:22:36 17.70500 83.26889 11.90

Line4 2016-03-16 01:12:26 17.70500 83.26889 11.90
Line5 2016-03-16 01:22:36 17.70500 83.26889 11.90

当然,Awk已经在不需要您额外努力的情况下按顺序读取行了。对于要比较当前行和以前行中的信息的此类问题,可以使用以下模板:

$ cat pcl.awk
NR == 1 { prev_line = $0 }

NR > 1 {
    print "Previous: " prev_line
    print "Current: " $0
    print "(Comparison logic here)"
    print ""
    prev_line = $0;
}

$ awk -f pcl.awk pcl.txt
Previous: Line1 2016-03-16 01:12:26 17.70500 83.26889 11.90
Current: Line2 2016-03-16 01:22:36 17.70500 83.26889 11.90
(Comparison logic here)

Previous: Line2 2016-03-16 01:22:36 17.70500 83.26889 11.90
Current: Line3 2016-03-16 01:42:25 17.70500 83.26889 11.90
(Comparison logic here)

Previous: Line3 2016-03-16 01:42:25 17.70500 83.26889 11.90
Current: Line4 2016-03-16 01:42:36 17.70500 83.26889 11.90
(Comparison logic here)

Previous: Line4 2016-03-16 01:42:36 17.70500 83.26889 11.90
Current: Line5 2016-03-16 02:12:25 17.70500 83.26889 11.90
(Comparison logic here)

Previous: Line5 2016-03-16 02:12:25 17.70500 83.26889 11.90
Current: Line6 2016-03-16 02:12:35 17.70500 83.26889 11.90
(Comparison logic here)

根据手头问题的具体情况,您可能希望保存一个或多个特定字段,
$3
,例如,而不是整行(
$0
),但解决方案的一般形式大致相同。

预期输出是什么?需要比较第二个数据块中的完整行或仅比较一些字段,您的行与前两行重复。