Shell脚本中通过正则表达式匹配IP地址
2015-05-27 00:00
756 查看
在运维场景下,我们经常需要在服务器上用正则表达式来匹配IP地址。
shell和其它编程语言一样,也可以使用正则分组捕获,不过不能使用 $1或\1这样的形式来捕获分组,可以通过数组${BASH_REMATCH}来获得,如${BASH_REMATCH[1]},${BASH_REMATCH
}
下面以ip="121.0.2.2"为例,shell脚本代码如下(当然,你要做成更通用交互式的脚本,可以通过expect来实现):
shell和其它编程语言一样,也可以使用正则分组捕获,不过不能使用 $1或\1这样的形式来捕获分组,可以通过数组${BASH_REMATCH}来获得,如${BASH_REMATCH[1]},${BASH_REMATCH
}
下面以ip="121.0.2.2"为例,shell脚本代码如下(当然,你要做成更通用交互式的脚本,可以通过expect来实现):
#!/bin/bash ip="121.0.2.2" if [[ $ip =~ ^([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$ ]] then echo "Match" echo ${BASH_REMATCH[1]} echo ${BASH_REMATCH[2]} echo ${BASH_REMATCH[3]} echo ${BASH_REMATCH[4]} else echo "Not match" fi
相关文章推荐
- Shell脚本中通过正则表达式匹配IP地址
- shell脚本里面通过正则匹配操作字符串的问题
- 【shell脚本】匹配函数的正则表达式
- shell通过正则匹配ip地址实例代码
- Linux下shell脚本编程之正则表达式
- shell脚本及正则表达式
- shell脚本知识(三) 正则表达式 grep sed awk
- 利用正则表达式匹配IP地址
- 通过正则表达式查找文本 并检索出匹配正则的字符串内容
- shell 脚本-正则表达式
- shell脚本学习:正则表达式之sed,tr篇
- 鸟哥Linux私房菜笔记(二):正则表达式、shell脚本
- 正则表达式通过匹配地址增加当前选中状态
- java 通过正则表达式获取匹配字符串的例子
- shell脚本正则匹配文件中的Email并写入到文件中代码分享
- QTP脚本中使用正则表达式,匹配字符串方法
- linux命令行与shell脚本大全_第十九章_正则表达式
- 正则表达式通过Unicode属性匹配
- shell脚本编程(一)正则表达式