加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在shell脚本中通过正则表达式匹配IP地址?

发布时间:2020-12-15 04:56:56 所属栏目:安全 来源:网络整理
导读:《如何在shell脚本中通过正则表达式匹配IP地址?》要点: 本文介绍了如何在shell脚本中通过正则表达式匹配IP地址?,希望对您有用。如果有疑问,可以联系我们。 在运维场景下,我们经常需要在服务器上用正则表达式来匹配IP地址. shell和其它编程语言一样,也可

《如何在shell脚本中通过正则表达式匹配IP地址?》要点:
本文介绍了如何在shell脚本中通过正则表达式匹配IP地址?,希望对您有用。如果有疑问,可以联系我们。

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

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

下面以ip=”121.0.2.2″为例,shell脚本代码如下(当然,你要做成更通用交互式的脚本,可以通过expect来实现):
[code lang=”shell”]#!/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])$ ]]
then
echo "Match"
echo ${BASH_REMATCH[1]}
echo ${BASH_REMATCH[2]}
echo ${BASH_REMATCH[3]}
echo ${BASH_REMATCH[4]}
else
echo "Not match"
fi[/code]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读