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

作者:junjie 时间:2023-06-13 16:32:18 

在运维场景下,我们经常需要在服务器上用正则表达式来匹配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,脚本,正则表达式,匹配,IP,地址
0
投稿

猜你喜欢

  • 如何在网页中制作虚线表格

    2010-10-20 20:07:00
  • Python namedtuple命名元组实现过程解析

    2022-08-20 14:27:20
  • 一步步教你安装VSCode(附带图解步骤)

    2023-09-30 05:13:06
  • Git工作流演示及三种工作方式

    2023-09-12 20:23:05
  • Pycharm挂代理后依旧插件下载慢的完美解决方法

    2023-06-17 23:07:31
  • python+mediapipe+opencv实现手部关键点检测功能(手势识别)

    2022-04-20 17:26:05
  • Python3实现飞机大战游戏

    2022-08-25 05:29:03
  • 基于python爬取有道翻译过程图解

    2021-11-03 23:57:27
  • Python中使用haystack实现django全文检索搜索引擎功能

    2023-06-30 07:21:03
  • numpy.random.choice()函数详解

    2023-04-30 09:46:03
  • 详解利用OpenCV提取图像中的矩形区域(PPT屏幕等)

    2022-06-23 16:42:41
  • 用python爬取租房网站信息的代码

    2022-04-30 07:03:38
  • Python高级编程之消息队列(Queue)与进程池(Pool)实例详解

    2021-12-14 17:30:24
  • 解决python 打包成exe太大的问题

    2021-09-22 11:33:59
  • python实现AI聊天机器人详解流程

    2022-12-11 23:57:37
  • PyTorch实现多维度特征输入逻辑回归

    2022-08-08 02:56:41
  • 探讨select in 在postgresql的效率问题

    2024-01-20 01:41:41
  • Oracle数据库集复制方法浅议

    2010-07-21 12:50:00
  • Python 安装第三方库 pip install 安装慢安装不上的解决办法

    2023-02-23 13:43:45
  • FP-growth算法发现频繁项集——构建FP树

    2022-04-26 16:22:52
  • asp之家 网络编程 m.aspxhome.com