Shell脚本中通过正则表达式匹配IP地址
2015-05-27 12:00
751 查看
在运维场景下,我们经常需要在服务器上用正则表达式来匹配IP地址。
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通过正则匹配ip地址实例代码
- shell脚本里面通过正则匹配操作字符串的问题
- VBS脚本,中间用到了遍历文件夹,正则匹配。使用了 WScript.Shell 对象的几个方法。
- 详解Linux--shell脚本之正则表达式
- shell 下正则表达式的匹配
- Linux--shell脚本之正则表达式
- shell脚本学习:循序渐进程序选择流与正则表达式
- 匹配IP地址的正则表达式(java)
- Python正则表达式匹配ip地址实例
- 通过正则表达式取出字符串中匹配的字符
- shell 正则表达式与文件名匹配
- Shell script - 如何用正则表达式匹配IP地址
- 一个匹配IP地址的正则表达式
- java通过正则表达式匹配获取链接地址
- #7 shell脚本编程之正则表达式
- 通过正则表达式获取匹配内容
- Shell 常识--正则表达式,POSIX字符类以及元字符--总结自《Linux Shell 脚本攻略》
- 匹配ip地址的正则表达式(非常实用)!