grep正则表达式实现查找某个特定的IP地址
番茄系统家园 · 2022-02-28 09:44:19
下面会举几个在grep命令中使用从一个文件中匹配到特定的IP地址。下面的将会匹配IPV4的地址。
匹配IP地址:
使用下面的来匹配IPV4的地址,先来匹配从0.0.0.0到999.999.999.999的模式。
复制代码代码如下:
“([0-9]{1,3}[.]){3}[0-9]{1,3}”
示例:使用grep命令来查找匹配特定的地址
复制代码代码如下:
$ grep -E -o “([0-9]{1,3}[.]){3}[0-9]{1,3}” filename/p
[root@devops ~]# echo 000.333.222.444 >test1
[root@devops ~]#
[root@devops ~]# grep -E -o “([0-9]{1,3}[.]){3}[0-9]{1,3}” test1
000.333.222.444
上面的正则表达只是简单的匹配了特定的类似于ip地址的传,但它不能匹配真正的IPv4地址。可以通过下面的来匹配.
复制代码代码如下:
“(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).
(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)”
通过grep命令匹配文件中的IPv4地址
复制代码代码如下:
[root@devops ~]# grep -E -o “(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-
4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)” test1
[root@devops ~]# echo 192.168.1.234 > test1
[root@devops ~]# grep -E -o “(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-
4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)” test1
192.168.1.234
[root@devops ~]
#
其中:-E选项表示使用grep扩展的
-o选项是只显示匹配到的字符串

