您的位置:首页 > 运维架构 > Shell

学习日记之shell通配符

2013-10-29 22:00 316 查看
shell通配符大致有如下几种:

(1)'*' :匹配时可以代表一个或多个字符(注意也匹配空字符)

(2)'?':匹配时一个'?'只能代表一个字符,当然可以用多个'?'来匹配多个字符。

(3)'[...]':表示同方括号中的任意一个字符相匹配。这些字符可以用字符范围(比如 1-9)或者离散值或同时使用两者表示。

例如:[a-zBE5-7] 同所有 a 到 z 之间的字符和 B、E、5、6、7 相匹配。

(4){c1,c2}:同 c1 或者 c2 相匹配。其中 c1 和 c2 也是通配符(那么c1、c2不是通配符可不可以啊,下面试试看)。因此,您可以使用 {[0-9]*,[acr]}。

应用举例:首先先建一个文件目录test,再在目录下建几个文件,例如583.bak、346.bak、124.bak。

那我输入 ls *4.bak 会有什么结果呢,哈哈,很简单是不是。

那我输入ls ?4.bak又是什么结果呢?你肯定知道的,是吧。


应该知道为什么产生这个结果吧!

看一下(3)(4)两个通配符的使用


首先可以验证{}通配符里面不一定非是子通配符,同时也说明,用逗号隔开可以放多于两个的通配符或字符。它是逐个检查是否匹配的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: