Shell正则表达式匹配IP地址 Shell脚本中通过正则表达式匹配IP地址

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Shell正则表达式匹配IP地址 Shell脚本中通过正则表达式匹配IP地址

  2021-03-21 我要评论
想了解Shell脚本中通过正则表达式匹配IP地址的相关内容吗,在本文为您仔细讲解Shell正则表达式匹配IP地址的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Shell,脚本,正则表达式,匹配IP地址,下面大家一起来学习吧。

在运维场景下,我们经常需要在服务器上用正则表达式来匹配IP地址。

shell和其它编程语言一样,也可以使用正则分组捕获,不过不能使用 $1或\1这样的形式来捕获分组,可以通过数组${BASH_REMATCH}来获得,如${BASH_REMATCH[1]},${BASH_REMATCH[N]}

下面以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

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们