SHELL正则表达式判断IP地址是否合规

cat test.txt
a.b.c.d
11.1.1.1
9.9.9.9
8.8.8.8
127.0.0.1
20.02.04.01

获取IP地址
egrep '(^([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.)(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){2}([0-9]|[1-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])$' test.txt
egrep '
(^([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.)  获取IP地址的第一段
(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){2}  获取IP地址的第二段和第三段
([0-9]|[1-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])$'  test.txt   获取第四段

解释如下:
^            表示以....开头
[1-9]        表示1位数,取数字1-9范围
 |           表示或者
[1-9][0-9]   表示2位数,取数字10-99范围
1[0-9]{2}    表示3位数,取数字100-199范围
2[0-4][0-9]  表示3位数,取数字200-249范围
25[0-5]      表示3位数,取数字250-255范围
$            表示以....结尾

 

posted @ 2021-08-07 21:21  vmsysjack  阅读(431)  评论(0编辑  收藏  举报