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 地址) 的相关文章

  • 排除正则表达式匹配中的字符串,以进行 sed 处理

    我需要将其匹配为替代命令 whatever MATCH THIS whateverwhatever AND THIS whateverwhatever 我正在尝试 sed e s 1 g myfile 但这是急切的匹配 MATCH THIS
  • 在 sed 中插入换行符 (Mac OS X)

    如何在 sed 的替换部分插入换行符 此代码不起作用 sed s 1234 n 1 g input txt gt output txt 其中 input txt 是 test1234foo123bar1234 和output txt应该是
  • 十六进制到十进制转换(带 sed 的管道)

    之后如何使用管道将十六进制值转换为十进制值sed 从 小端 到 大端 的转换 dec value echo dede0a01 sed s 4 3 2 1 g Update 这工作正常 endi echo dede0a01 sed s 4 3
  • awk 反转行和单词

    我对编程语言之类的东西很陌生 所以我必须用 awk 反转文件中的所有行以及这些行中的所有单词并将其打印出来 要反转的 File1 aa bb cc foo 做为 File1 的输出打印应该是这样的 就像 foo 一样 cc bb aa 我在
  • 将 IP 地址与 IPv6 块进行比较

    我使用 PHP 将用户 IP 地址与 IP 块列表进行比较 其中大多数是 IPv4 但其中一些是 IPv6 我从用户那里获得的 IP 地址始终与 IPv4 兼容 至少我是这么假设的 我将如何比较这个 这就是我现在正在使用的 function
  • sed:多行的条件合并

    我需要根据模式使用 sed 合并文件行 例如 输入文件 X1 A B C D E F G H I J 1 LK T PP E OO 2 X2 DDF F Y J W Q 预期输出 X1 A B C D E F G H I J 1 LK T
  • 使用 awk 处理多个文件

    我必须使用 awk 处理大量 txt 文件 每个文件 1600 万行 我必须阅读例如十个文件 File 1 en sample 1 200 en n sample 2 10 en sample 3 10 File 2 en sample 1
  • 在 bash 中将 kB 和 GB 转换为 MB

    我使用 awk 和 sed 来获取表中的分区列表及其大小 我想用它来计算各个表的每日增量 这是我的输出 现在我正在努力将所有大小转换为 MB 匹配第二个字段中的数字并根据 MB 或 GB 字符串相乘的最佳 bash 方法是什么 201706
  • sed 将带空格的行插入到特定行

    我在开头有一行空格 例如 Hello world 我想将此行插入到文件中的特定行 例如 将 hello world 插入下一个文件 hello world result hello hello world world 我正在使用这个 sed
  • 使用 awk 打印一列,添加逗号

    我有一个文件 我想从中检索第一列 并在每个值之间添加逗号 Example AAAA 12345 xccvbn BBBB 43431 fkodks CCCC 51234 plafad 获得 AAAA BBBB CCCC 我决定使用 awk 所
  • 从 shell 查找不包含特定注释的 XML 文件

    我想搜索 awk grep sed 几个 XML 文件 pom xml 文件 跳过某些文件夹 而且 第一个条件是它们必须包含标签
  • 如何使用 Bash 编写二进制文件?

    我的问题是我需要创建一个包含以下确切字节的文件 48 00 49 00 我不能使用C perl 其他脚本语言 目标是嵌入式设备 我使用 awk 尝试过 在桌面上它确实有效 awk BEGIN printf c c c c 48 00 49
  • awk 脚本中出现“BEGIN 块必须有操作部分”错误

    这是我的代码 bin sh filename usr bin find name INSTANCE log echo filename is filename awk BEGIN print Processing file filename
  • 将以反斜杠结尾的行与下一行 awk 连接起来(来自著名的 awk 单行解释)

    这个练习来自于Peteris Krumins 的博客文章解释了 AWK 的俏皮话 http www catonmat net blog awk one liners explained part two 本质上是这条线 awk sub ge
  • awk 在循环中使用时不打印任何内容[重复]

    这个问题在这里已经有答案了 我有一堆使用 file 1 a 1 txt 格式的文件 如下所示 A 1 B 2 C 3 D 4 并使用以下命令添加包含每个文件名称的新列 awk print FILENAME NF t 0 file 1 a 1
  • 应用程序多播的最佳教程? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我最近意识到 IP 多播 显然在公共互联网上工作得不太好 和应用程序多播 显然在 IRC 和 PSYC 中使用 根据http en wikipedia
  • AWK:递归下降 CSV 解析器

    响应一个BASH 中的递归下降 CSV 解析器 https codereview stackexchange com questions 11727 need some advice or help with translation and
  • 在 Node.js 中查找默认网关 IP 的最佳方法是什么?

    如今在 Node js 中查找默认网关 IP 地址的最佳方法是什么 os networkInterfaces 不提供此信息 想到的唯一想法是解析stdout子流程的route n Kernel IP routing table Destin
  • AWK数组初始化

    是否可以使用常见的方法在AWK中初始化数组list syntax array val1 val2 val3 或者是否必须使用索引值 syntax array 0 val1 array 1 val2 array 2 val3 不 不 您可以这
  • 代码来检测Android设备自己的IP地址?

    我想了解可以检测 Android 设备的 IP 地址和 Android 客户端名称的代码 以便在我们的应用程序中使用此 Ip 地址和客户端名称 任何人都可以帮助我吗 提前致谢 如果您在 Android 手机上运行此程序 这将告诉您您自己的

随机推荐