c shell(匹配)

匹配:
写法1.
#!/bin/sh
aa="aabbb";
bb="aab";
if [[ "${aa}" = "${bb}"* ]];then
echo "aaaaaaaaaaaaaa";
else
echo "bbbbbbbbbbbbbb";
fi
~
写法2.
#!/bin/sh
aa="aabbb";
bb="aab";
if [[ ${aa} = ${bb}* ]];then
echo "aaaaaaaaaaaaaa";
else
echo "bbbbbbbbbbbbbb";
fi
~
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Shell可以使用正则表达式进行匹配,正则表达式是一种可以用于模式匹配和替换的工具。通过正则表达式,Shell可以使用一系列的特殊字符构建匹配模式,然后将匹配模式与待比较字符串或文件进行比较,根据比较对象中是否包含匹配模式,执行相应的程序。常用的通配符包括: 1. *:匹配任意多个模式(0个或多个模式)。例如,file*(.c|.o)可以匹配文件file、file.c、file.c.c、file.c.o、file.o、file.o.c、file.o.o等,但不匹配file.h、file.s等。 2. +:匹配一个或多个模式(1个或多个模式)。例如,file(.c|.o)可以匹配文件file.c、file.c.c、file.c.o、file.o、file.o.c、file.o.o等,但不匹配file。 3. ?:匹配模式表中任何一种模式(0个或1个模式)。例如,file?(.c|.o)只匹配文件file、file.c、file.o等,不匹配file.c.c、file.c.o等。 4. @:仅匹配模式表中一个给定模式(匹配1个模式)。例如,file@(.c|.o)只匹配文件file.c和file.o,不匹配file、file.c.c、file.c.o等。 5. !:除给定模式表中的一个模式之外,匹配其他任何字符串。例如,file!(.c)可以匹配file、file.c.c、file.c.o、file.o、file.o.c、file.o.o,但不匹配file.c。 需要注意的是,实际使用时,模式表达式可以递归,即每个表达式中都可以包含一个或多个模式。例如,file*(.[cho]|.sh)是合法的模式表达式。 所以,使用Shell可以使用这些通配符来进行正则匹配,根据需要来编写匹配模式,以实现字符串或文件的匹配操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值