您当前的位置:首页 > 计算机 > 系统应用 > Linux

bash 中的扩展通配符

时间:12-14来源:作者:点击数:

常见的文件通配符有下面几个:

*
匹配任何文件名
?
匹配任何单个字符
[...]
匹配括号内的任何一个字符

而通过开启 extglob 选项,可以使用扩展的通配符。

shopt -s extglob

扩展的通配符有以下几种:

?(pattern-list)
匹配0个或1个指定模式
*(pattern-list)
匹配0个或多个指定模式
+(pattern-list)
匹配1个或多个指定模式
@(pattern-list)
匹配其中一个指定模式
!(pattern-list)
不匹配指定的模式

其中的 pattern-list 就是一串用 | 连接起来的通配符,例如:

列出所有不包含 ssh 的 org 文件

shopt -s extglob
ls !(*ssh*).org                 
aaa.org
a.org
as.org
sa.org
s.org
ss.org

列出所有由任意 a 和 s 组合的 org 文件

shopt -s extglob
ls +(s|a).org
aaa.org
a.org
as.org
sa.org
s.org
ss.org

列出以 s 开头,后接单个 a、 s、或什么也不接的 org 文件

shopt -s extglob
ls  s?(s|a).org
sa.org
s.org
ss.org
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐