sed/awk + ​​regex 删除第一个字段匹配的重复行(ip 地址)

2024-02-05

我需要一个解决方案来删除第一个字段是 IPv4 地址的重复行。例如,我在文件中有以下行:

192.168.0.1/text1/text2
192.168.0.18/text03/text7
192.168.0.15/sometext/sometext
192.168.0.1/text100/ntext
192.168.0.23/othertext/sometext

所以在前面的场景中它匹配的只是IP地址。我所知道的是 IP 地址的正则表达式是:

\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b

如果解决方案是一行并且尽可能快,那就太好了。


如果,文件包含行only按照您显示的格式,即第一个字段始终是 IP 地址,您可以使用 1 行 awk:

awk '!x[$1]++' FS="/" $PATH_TO_FILE

编辑:这会删除基于的重复项only在IP地址上。我不确定这是我写这个答案时OP想要的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sed/awk + ​​regex 删除第一个字段匹配的重复行(ip 地址) 的相关文章

随机推荐