glob模式文件

参考 python的异常处理 - 云+社区 - 腾讯云

在计算机编程中,特别是类Unix环境,glob模式通过通配符来匹配文件名。例如:Unix命令,将所有以扩展名为.txt的文件从当前目录拷贝到textfiles目录。

1

mv *.txt textfiles/

这里【*】是一个匹配任意数量字符基本通配符,*.txt就表示一个glob模式。另一个通用的通配符是【?】,它表示任意一个字符。

最常用的通配符是 *,?,[…]:

通配符描述例子匹配不匹配
*匹配任意数量的字符包括空字符Law*Law, Laws, or Lawyer
*Law*Law, GrokLaw, or Lawyer.
?匹配任意一个字符?atCat, cat, Bat or batat
[abc]匹配任意一个包含的字符[CB]atCat or Batcat or bat
[a-z]匹配任意一个给定范围的字符Letter[0-9]Letter0, Letter1 etc.Letters or Letter

注意,在所有以上例子中路径分隔符(unix的/,windows的\)都不会被匹配。

在Linux和POSIX系统中[…]有以下两个扩展:

通配符描述例子匹配不匹配
[!abc]不匹配任意一个包含的字符[!C]atBat, bat, or catCat
[!a-z]不匹配任意一个给定范围的字符Letter[!3-5]Letter1, Letter2 etc.Letter3, Letter4 or Letter5

与正则的比较:

Glob的通配符等价正则的表达式
?.
*.*

Glob尝试匹配整个字符串(例如,S*.DOC将匹配S.DOC和SA.DOC,但不匹配POST.DOC或SURREY.DOCKS),正则只匹配子串除非使用^和$。所以S*.DOC的等价正则是^S.*\.DOC$。

node glob对常用通配符又做了一些扩展:

通配符描述例子匹配不匹配
**匹配任意数量的字符包括空字符(包括路径分隔符)**/*.js/a/b/c.js
!(pattern|pattern)匹配除了()内以外的pattern!(abc|bcd)aaa,bbbabc.bcd
?(pattern|pattern)匹配至多一个()内的pattern?(abc|bcd)abcbbb
+(pattern|pattern)匹配至少一个()内的pattern+(abc|bcd)abcbbb
*(pattern|pattern)匹配任意个()内的pattern*(abc|bcd)abcbbb
@(pattern|pattern)精确匹配()内的其中一个pattern@(abc|bcd)abcabd
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值