正则表达式与通配符的区别

首先要记住的是: 正则表达式通配符不一样,它们表示的含义并不相同!
find:开始之前,我们先来看一下 find 命令的基本结构: find start_directory test options criteria_to_match action_to_perform_on_results find ./ -name a.out 在以下命令中,find 将开始在当前目录(用“.”表示)中查找任何扩展名为“java”的文件: find . -name "*.java"   (-name 参数后面跟的是通配符,'.'在通配符中不是元字符,在 正则表达式中是)  

shell常见通配符:

字符 含义 实例
*匹配 0 或多个字符a*b  a与b之间可以有任意长度的任意字符, 也可以一个也没有, 如aabcb, axyzb, a012b, ab。
?匹配任意一个字符a?b  a与b之间必须也只能有一个字符, 可以是任意字符, 如aab, abb, acb, a0b。
[list] 匹配 list 中的任意单一字符a[xyz]b   a与b之间必须也只能有一个字符, 但只能是 x 或 y 或 z, 如: axb, ayb, azb。
[!list] 匹配 除list 中的任意单一字符a[!0-9]b  a与b之间必须也只能有一个字符, 但不能是阿拉伯数字, 如axb, aab, a-b。
[c1-c2]匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z]a[0-9]b  0与9之间必须也只能有一个字符 如a0b, a1b... a9b。
{string1,string2,...}匹配 sring1 或 string2 (或更多)其一字符串a{abc,xyz,123}b    a与b之间只能是abc或xyz或123这三个字符串之一。
{1..3}.txt    这种情况就只可能是1.txt或2.txt或3.txt
a{1,2}b{3,4}   这样会依次匹配输出结果是a1b3 a1b4 a2b3 a2b4

 

需要说明的是:通配符看起来有点象正则表达式语句,但是它与正则表达式不同的,不能相互混淆。

把通配符理解为shell 特殊代号字符就可。而且涉及的只有,*,? [] ,{} 这几种。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值