【发布时间】:2014-10-15 14:10:15
【问题描述】:
我正在寻找有关如何删除具有重复关键字或 IP 地址的行的答案。例如。
169.146.25.111 1412969662.95 This is just to make it unique
169.146.25.111 1412969662.95 This data doesn't matter
169.146.25.111 1712515362.95 This is all different
169.146.25.112 1412969662.95 Don't care what's here
169.146.25.111 1315125152.95 erroneous information
所以我希望它匹配 IP 地址,然后搜索以下行,如果它在行首找到 IP 地址,则删除该行。这是我一直在尝试使用的。
Find what:
^(\S+)(.*?)$\s+(?=.*^\1).*?$
Replace With:
\1\2
想要的结果
169.146.25.111 1412969662.95 This is just to make it unique
169.146.25.112 1412969662.95 Don't care what's here
我正在寻找正则表达式的答案。我知道它可以很容易地用 sort 或 awk 完成,但我一直在努力让它与 Regex 一起工作,它伤害了我的大脑。谢谢
【问题讨论】:
-
这里的目的是保留第一行并删除重复的行吗?还是删除重复的行并保留最后一行?
-
我有一个包含一大堆 IP 地址的文件,我只需要保留具有唯一 IP 地址的数据行。所以我想删除具有重复 IP 地址的行,即使该行的其余部分不是重复的。