由于shell需要经常使用文件名,因此它提供了一些特殊字符来帮助你快速指定一组文件名 。这些特殊字符称为通配符。通配符(也叫文件名替换)允许用户依据字符模式选择文件名。以下列出了通配符以及它们所选择的对象:
通配符 | 匹配项 |
---|
* | 匹配任意多个字符(包括0个和1个) | ? | 匹配任一单个字符(不包括0个) | [characters] | 匹配任意一个属于字符集中的字符 | [!characters] | 匹配任意一个不属于字符集中的字符 | [[:class:]] | 匹配任意一个属于指定字符类中的字符 |
以下列出常用的字符类:
字符类 | 匹配项 |
---|
[:alnum:] | 匹配任意一个字母或数字 | [:alpha:] | 匹配任意一个字母 | [:digit] | 匹配任意一个数字 | [:lower:] | 匹配任意一个小写字母 | [:upper:] | 匹配任意一个大写字母 |
通配符示例:
模式 | 匹配项 |
---|
* | 所有文件 | g* | 以g开头的所有文件 | b*.txt | 以b开头,中间有任意多个字符,并以.txt结尾的任一文件 | Data??? | 以Data开头,后面跟3个字符的任一文件 | [abc]* | 以abc中的任一个开头的任一文件 | BACKUP.[0-9][0-9][0-9] | 以BACKUP.开头,后面紧跟3个数字的任一文件 | [[:upper:]]* | 以大写字母开头的任一文件 | [![:digit:]]* | 不以数字开头的任一文件 | *[[:lower:]123] | 以小写字母或数字1、2、3中的任一个结尾的任一文件 |
|