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