欢迎来到山村网

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

2019-03-02 13:26:32浏览:529 来源:山村网   
核心摘要:  这篇文章主要介绍了Shell脚本中通过正则表达式匹配IP地址,本文直接给出实现代码,需要的朋友可以参考下  在运维场景下,我

  这篇文章主要介绍了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

(责任编辑:豆豆)
下一篇:

执行Shell脚本的4种方法及区别介绍

上一篇:

Shell正则表达式验证IP地址

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com