歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> grep正則表達式實現查找某個特定的IP地址

grep正則表達式實現查找某個特定的IP地址

日期:2017/3/1 17:39:56   编辑:Linux技術

下面會舉幾個在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選項是只顯示匹配到的字符串

Copyright © Linux教程網 All Rights Reserved