小赖子的英国生活和资讯

BASH 脚本匹配 IP 地址的 简单例子 (正则表达式)

阅读 桌面完整版

LINUX 真是个非常 强大的操作系统 当然也非常的好玩. LINUX下的默认BASH SHELL本身就是个编程语言, 语言本身就支持正则表达式的匹配. 可以通过 =~ 来进行正则表达式的匹配. 匹配的结果存在了 数组 ${BASH_REMATCH[1]}, ${BASH_REMATCH[2]} 等等.

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
ip="192.168.0.1"
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 "匹配IP成功"
    echo ${BASH_REMATCH[1]}
    echo ${BASH_REMATCH[2]}
    echo ${BASH_REMATCH[3]}
    echo ${BASH_REMATCH[4]}
else
    echo "匹配不成功"
fi
#!/bin/bash
ip="192.168.0.1"
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 "匹配IP成功"
    echo ${BASH_REMATCH[1]}
    echo ${BASH_REMATCH[2]}
    echo ${BASH_REMATCH[3]}
    echo ${BASH_REMATCH[4]}
else
    echo "匹配不成功"
fi

运行的结果是:

匹配IP成功
192
168
0
1

英文: https://helloacm.com/simple-example-use-bash-shell-to-match-ip-address/

强烈推荐

微信公众号: 小赖子的英国生活和资讯 JustYYUK

阅读 桌面完整版
Exit mobile version