需要替换文件中的重复项,除非该行与模式匹配

时间:2012-08-20 13:56:52

标签: bash sed awk

我的问题很简单。我有一个包含通常彼此重复的行的文件。我的第一次尝试使用了awk:cat /tmp/log |awk '!x[$0]++'|

这完美地完成了工作,除了我意识到我需要重复一行。

所以基本上我需要删除所有重复项,除了包含“成功关联”的重复项。即使它是一个骗局。

欢迎任何想法!

1 个答案:

答案 0 :(得分:2)

如果之前没有看到,则打印该行,或者等于允许的副本:

awk '!x[$0]++ || ($0 ~ /Successful association/)' /tmp/log