(004) Linux之shell通配符
十年运维系列之基础篇 - Linux
作者:曾林
版权:文章未经同意请勿转载
一、引言
我们经常要在shell下执行命令行程序,而这些命令行程序需要经常使用文件名,因此shell提供了一些特殊字符来帮助快速指定或者筛选一组文件名。这些特殊的字符就被称之为“通配符”。通配符(也被称为文件名替换)允许用户依据字符模式选择文件名。通配符可以与任一个使用文件名为参数的命令一起使用。并且通配符不但可以在命令行程序中起作用,也可以在GUI程序中起作用。
二、通配符
下表中提供了常用的通配符字符、通配符字符类以及实际中使用通配符的实例。
通配符字符表:
通配符 | 匹配项 |
* | 匹配任意多个字符(包括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中的任一个结尾的任一文件 |
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。