主页 > 知识库 > Shell脚本中通过正则表达式匹配IP地址

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

热门标签:服务外包 呼叫中心市场需求 百度竞价排名 网站排名优化 铁路电话系统 地方门户网站 AI电销 Linux服务器

在运维场景下,我们经常需要在服务器上用正则表达式来匹配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 正则表达式详细整理
  • Shell正则表达式之grep、sed、awk实操笔记
  • Shell if中的正则表达式使用详解
  • Shell正则表达式验证IP地址
  • PowerShell中正则表达式使用例子
  • linux shell 路径截取正则表达式
  • Shell正则表达式学习笔记
  • PowerShell中使用正则表达式匹配字符串实例
  • 详解Linux--shell脚本之正则表达式
  • shell高级学习之正则表达式

标签:兰州 铜川 黄山 湖南 衡水 崇左 仙桃 湘潭

巨人网络通讯声明:本文标题《Shell脚本中通过正则表达式匹配IP地址》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266