shell中正则表达式的使用

下面介绍shell中正则表达式的两种使用方法。

使用方法一:

#赋值给变量var
read var
#定义regex正则表达式
regex="[0-9]"

if [[ $var =~ $regex]];then
    #match
    #do something
fi

例如,对输入的内容进行匹配,要求必须是0-9之间的数字:

#读取输入
read input

regex="[0-9]"

if [[ $input =~ $regex ]];then
    echo "match"
else
    echo "dismatch"
fi

对于方法一,如果正则表达式中含有类似“\d”等转义字符时,是无法匹配。这样就要用到第二种方法了。

使用方法二:

read var
regex="[a-z]"

if [ `echo $var | grep -P $regex` ];then
    echo "match"
else
    echo "dismatch"
fi

注意:
-P参数:
使用Perl的正则表达式解析。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lanyang123456/article/details/52268625
文章标签: shell 正则表达式
个人分类: Linux shell
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭