(004) Linux之shell通配符

十年运维系列之基础篇 - Linux

作者:曾林 

联系:[email protected]

网站:www.jplatformx.com

版权:文章未经同意请勿转载


一、引言

      我们经常要在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中的任一个结尾的任一文件

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。