grep正規表示式查詢特定ip位址的方法

2021-07-23 13:43:52 字數 1265 閱讀 5925

**

linux下檔案查詢,沒有grep命令是不行的。

在grep命令中使用正規表示式從乙個檔案中匹配到特定的ip位址。

入門網路知識之ip位址小常識

以下正規表示式將會匹配ipv4的位址。

使用以下正規表示式匹配ipv4的位址,先來匹配從0.0.0.0到999.999.999.999的模式。

"([0-9][\.])[0-9]"

例:使用grep命令來查詢匹配特定的位址

$ grep -e -o "([0-9][\.])[0-9]" filename

[root@jbxue ~]# echo 000.333.222.444 >test1

[root@jbxue ~]#

[root@jbxue ~]# grep -e -o "([0-9][\.])[0-9]" test1

000.333.222.444

以上正規表示式並不能匹配真正的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]?)"

[root@jbxue ~]# 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@jbxue ~]# echo 192.168.1.234 > test1

[root@jbxue ~]# 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@jbxue ~]#

其中:-e選項表示使用grep擴充套件的正規表示式

-o選項是只顯示匹配到的字串

以上分享了grep正規表示式查詢特定ip位址的方法與例子,希望對大家有所幫助。

grep正規表示式

grep的工作方式是這樣的,它在乙個或多個檔案中搜尋字串模板。如果模板包括空格,則必須被引用,模板後的所有字串被看作檔名。搜尋的結果被送到螢幕,不影響原檔案內容。grep可用於shell指令碼,因為grep通過返回乙個狀態值來說明搜尋的狀態,如果模板搜尋成功,則返回0,如果搜尋不成功,則返回1,如果...

Grep正規表示式

grep正規表示式 要用好grep這個工具,其實就是要寫好正規表示式,所以這裡不對grep的所有功能進行例項講解,只列幾個例子,講解乙個正規表示式的寫法。ls l grep a 通過管道過濾ls l輸出的內容,只顯示以a開頭的行。grep test d 顯示所有以d開頭的檔案中包含test的行。gr...

grep正規表示式

文字查詢需要grep global research 根據模式,搜尋文字,並將符合模式的文字行顯示出來。pattern 文字字元和正規表示式的元字元組合而成的匹配條件 man grep 檢視幫助 查詢 etc passwd檔案包含root的內容 root iz233y80y23z grep root...