作用
通常用来匹配目录以及文件,而不是文本。
概念
glob 模式(globbing)也被称之为 shell 通配符,名字的起源来自于 Unix V6 中的 /etc/glob (详见 man 文档)。
glob 是一种特殊的模式匹配,最常见的是通配符拓展,也可以将 glob 模式认为是精简了的正则表达式,在最新的 CentOS 7 中已经删除了 glob 的相关描述文档,删除的原因由于 glob 已经整合到了 shell 之中,然后就有了 shell 通配符。
通配符
支持通配符的命令:ls,find,cp 等。
通配符 | 作用 | 示例 假设有test1,...,test5 |
* | 代表任意字符(0到多个) | cp test* /tmp |
? | 代表一个字符。类似正则的. | cp test? /tmp |
[] | 中间为字符组合,可用“,”,“-”分开。 | cp test[12] /tmp //拷贝test1和test2 cp test[1~5] /tmp //拷贝test1...test5 [Cc]hange[Ll]og 匹配项: Changelog、ChangeLog、changeLog 以及 changelog |
[-] | 匹配中括号中任意一个字符,- 代表一个范围。 | [a-z] 代表匹配一个小写字母 |
[^] | 逻辑非,表示匹配不是中括号内的一个字符。 | [^0-9] 代表匹配一个不是数字的字符 |
专用字符集
字符 | 意义 |
[:alnum:] | 任意数字或者字母 |
[:alpha:] | 任意字母 |
[:space:] | 空格 |
[:lower:] | 小写字母 |
[:digit:] | 任意数字 |
[:upper:] | 任意大写字母 |
[:cntrl:] | 控制符 |
[:graph:] | 图形 |
[:print:] | 可打印字符 |
[:punct:] | 标点符号 |
[:xdigit:] | 十六进制数 |
[:blank:] | 空白字符(未验证) |