首页 > 系统相关 >shell正则匹配捕获引用进行IP匹配

shell正则匹配捕获引用进行IP匹配

时间:2023-05-29 09:57:44浏览次数:42  
标签:25 shell 匹配 IP 捕获 echo REMATCH 正则 BASH

在服务器上加了一个服务检测机制,用到正则来匹配IP和捕获分组。shell和其他语言一样也可以使用正则分组捕获,不过不能使用 $1或1这样的形式来捕获分组,可以通过数组${BASH_REMATCH}来获得,如${BASH_REMATCH[1]},${BASH_REMATCH[N]}

简单的测试如下所示:

#!/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

标签:25,shell,匹配,IP,捕获,echo,REMATCH,正则,BASH
From: https://www.cnblogs.com/0227-yyds/p/17371583.html

相关文章

  • tooltip
    (function($){   $.fn.tooltip=function(option)   {       /*       *提示框jq插件       *Authorby秋叶博客http://www.mizuiren.com/494.html       *option参数       *{       *background:"#ddd",(op......
  • Visual Studio 调试效率提升小Tips 桌面 MFC应用程序增加控制台窗口
    VisualStudioIDE调试问题调试时中文字符串显示乱码或者问号=>将该变量添加到监视,在变量名后添加,s8为gui程序添加console窗口打印信息//wxhaddconsoleforprintinfo!if(!AllocConsole()){ printf_s("wxhopenconsolefailed!\n");}else{ charszBuff[......
  • JavaScript函数传参原理详解——值传递还是引用传递
    讨论JavaScript的传参原理之前,我们先来看一段曾经让笔者困惑了一段时间的代码vartestA=1;vartestB={};functiontestNumber(example){example=2;}functiontestObj(example){example.test=1;}testNumber(testA);testObj(testB);console.log(testA);//......
  • linux 中 grep命令匹配空格和制表符
     001、匹配空格[root@PC1test4]#lsa.txt[root@PC1test4]#cata.txt##测试数据1_aabb2_ccdd3_eeff4_gghhkk[root@PC1test4]#sed-nla.txt##显示出空格和制表符1_aabb$2_ccdd$3_eeff$4_gg\thh\tkk$[root@PC1test4]#grep"......
  • pip源测试
    有s,无trusted无s,无trusted无s,有trusted有s,有trusted正常情况......
  • 【CISCN2023】unzip 详解
    【CISCN2023】unzip详解考察点:软连接+getshell首先分析一下题目,unzip,百度一下,发现这是一个linux命令,用于解压缩zip压缩包,这里放出一个详细解释,就不赘述了。https://www.cnblogs.com/cxhfuujust/p/8193310.html进入容器,可以得到一个文件上传的页面:于是,按照惯性,我们可以先......
  • Shell常见命令
    Shell是一个应用程序,它负责接收用户输入的命令,然后根据命令做出相应的动作,Shell负责将应用层或者用户输入的命令传递给系统内核,由操作系统内核来完成相应的工作,然后将结果反馈给应用层或者用户 2.4Shell命令的格式如下: command-options[argument]  command:......
  • [NOIP2022] 比赛
    \(\mathcalLink\)大半年前,我在没有难题的NOIP大败而归,以一个耻辱的分数。注意到询问具有分治性。考虑类似线段树一样拆分询问,然后考虑跨过\(\textit{mid}\)的子区间贡献。对于一个固定的\(r\),考虑\(l\)的贡献。记\(f\),\(g\)分别代表\(A\)和\(B\)对应区间的最值......
  • 2023-05-28 TypeScript学习记录(长更)
    概述:TypeScript(下称ts),js的超集,在js基础上进行了扩展并且新增了一些类型;不能被浏览器直接识别,需要编译为js才能被执行。为什么使用ts,而不是js:js语法的定义相对不够严谨,变量没有约束,而ts在js一些不足的地方进行了优化,使写法变得严谨也更为复杂起来。ts安装:npminstall-gtypescri......
  • Rockchip RK3399 - 移植uboot 2023.04和内核FIT uImage制作
    ----------------------------------------------------------------------------------------------------------------------------开发板:NanoPC-T4开发板eMMC:16GBLPDDR3:4GB显示屏:15.6HDMI接口显示屏u-boot:2023.04linux  :5.2.8------------------------------------------......