shell匹配IP和shell正则匹配捕获引用

  • A+
所属分类:Shell

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

简单的测试如下所示:

转载请注明来自运维生存时间: http://www.ttlsa.com/html/3382.html

weinxin
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
默北

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:6   其中:访客  6   博主  0

    • JackpGao 9

      0.13.32.97 匹配有问题

        • 啊啊 9

          @JackpGao if [[ $ip =~ ^([1-9][0-9]?|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

          • Escape 9

            @JackpGao 大兄弟,你这个IP,有吗?

          • ttlsa 9

            这个需求不用搞得这么复杂吧。。。。看见那么多IP匹配,眼花。 评论” />

              • 默北 默北 6

                @ttlsa 请赐教

                • 邓贇 7

                  @ttlsa 评论” /> 通过这个例子来讲用法。