【发布时间】:2014-07-22 22:03:51
【问题描述】:
我使用了以下不错的 awk 命令来过滤重复行
示例:
cat LogFile | awk '!seen[$0]++'
问题是在某些情况下我们需要过滤重复的行,尽管某些字段不同并且它们并不那么重要
例如
日志文件:
[INFO],[02/Jun/2014-19:30:45],EXE,ds1a,INHT VERION , 1.4.4.3-08
[INFO],[02/Jun/2014-19:31:25],EXE,ds1a,INHT VERION , 1.4.4.3-08
[INFO],[02/Jun/2014-19:32:40],EXE,ds1a,INHT VERION , 1.4.4.3-08
请看一下这个文件 - LogFile
我需要从第三个分隔符“,”中删除重复的行,直到行尾,
不管第三个分隔符之前是什么
所以最后我应该得到这个过滤后的文件:(应该总是得到列表中的第一个)
[INFO],[02/Jun/2014-19:30:45],EXE,ds1a,INHT VERION , 1.4.4.3-08
所以请帮我完成我的任务
如何从第三个分隔符“,”中过滤掉LofFile,并忽略以下字段:[INFO],[...........],EXE ,
备注——植入也可以用perl one liner line
【问题讨论】:
-
这是一个糟糕的例子,因为所有的记录都是一样的。请说明您如何拥有仍然需要过滤掉的不同记录。
-
请看更新问题,
-
@maihabunash 你还需要输出中的 3 个未引用字段吗?
-
是的,正如问题所问,我想我会以任何方式安慰 Ed 的答案 - 他有很好的解决方案 -:)