下面是我拥有的文件的片段:
Broad Street,Broad Street,P
Queen Street,Queen Street,P
Shoe Lane,Shoe Lane,P
Dev Way,Dev Way,P
Dev Way,Dev Way,W
Cameron Street,Cameron Street,P
Cameron Street,Cameron Street,W
我想逐行处理文件,如果第一行的第3行是'P',第二行的第3行是'W',我想保留两行并将它们连接在一起。但是如果第一行上的第三个字段等于'P而它下面的行也是P我想要删除该行并继续下一行。所以我的结果将是:
Dev Way,Dev Way,P,Dev Way,Dev Way,W
Cameron Street,Cameron Street,P,Cameron Street,Cameron Street,W
这可以在AWK中完成吗?
由于
答案 0 :(得分:1)
awk 'BEGIN{FS=OFS=",";prevkey=""};{if ($NF=="W" && prevkey=="P") {print prev, $0}; prevkey=$NF; prev=$0}' datafile