grep正则表达式实现查找某个特定的IP地址
grep正则表达式实现查找某个特定的IP地址
发布时间:2016-12-27 来源:查字典编辑
摘要:下面会举几个在grep命令中使用正则表达式从一个文件中匹配到特定的IP地址。下面的正则表达式将会匹配IPV4的地址。正则表达式匹配IP地址:...

下面会举几个在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> <p>[root@devops ~]# echo 000.333.222.444 &gt;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]?).</p> <p>(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-</p> <p>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 &gt; 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-</p> <p>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 ~]</p> <p>#

其中:-E选项表示使用grep扩展的正则表达式

-o选项是只显示匹配到的字符串

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新unix linux学习
热门unix linux学习
操作系统子分类