regex - 如何匹配文件每一行上第一次出现的模式(IP 地址)?
问题描述
我有一个文本文件(file.txt),其中包含以下行 -
1234 198.18.1.1 5.6.7.8 user1 10 Gbps 32 GB -
15.2.1.2 198.18.1.2 9.10.11 user2 10 Gbps 16 GB (connected to 198.18.1.3)
and so on
所有 IP 地址的第一个八位字节是 3 位数字(例如 198)。如何在每一行中找到 IP 地址的第一个匹配项?
输出
198.18.1.1
198.18.1.2
我试过 -
grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' file.txt
但那又回来了——
198.18.1.1
5.6.7.8
15.2.1.2
198.18.1.2
198.18.1.3
谢谢!
解决方案
推荐阅读
- android - 如何检查片段中的视图是否出现在当前窗口中或不在当前窗口中?
- asp.net-core - 如何转换我的数据的驼峰格式?
- c# - .NET Core JWE:没有“cty”标头
- uwp - uwp TextBox c++ Winrt的边框
- javascript - 传递一个对象一个它自己的承诺函数数组以串行执行?
- r - 生成虚构的面板数据集
- bootstrap-4 - Bootstrap 4 列系统不适合我
- javascript - 不扩展父级的绝对定位
- python-3.x - Python 错误:TypeError:列表索引必须是整数或切片,而不是 str,
- javascript - 为什么这个 for 循环只打印一个元素?