我正在使用awk处理文件,筛选出感兴趣的特定行。对于所生成的输出,我希望能够删除除了以相同字符串开头的最后一行之外的所有行。
以下是所生成内容的示例:
我该如何实现这个目标?
我尝试了以下内容,但它并未正常工作:
以下是所生成内容的示例:
this is a line
duplicate remove me
duplicate this should go too
another unrelated line
duplicate but keep me
example remove this line
example but keep this one
more unrelated text
由于第2行和第3行以duplicate
开头,应予删除,第5行也是如此。因此,第5行应保留,因为它是最后一行以duplicate
开头的。
对于第6行,同样地,它以example
开头,第7行也是如此,所以第7行应被保留,因为它是最后一行以example
开头的。
给定上面的例子,我想要产生以下输出:
this is a line
another unrelated line
duplicate but keep me
example but keep this one
more unrelated text
我该如何实现这个目标?
我尝试了以下内容,但它并未正常工作:
awk -f initialProcessing.awk largeFile | awk '{currentMatch=$1; line=$0; getline; nextMatch=$1; if (currentMatch != nextMatch) {print line}}' -