一 ,說明
我們經常要在shell下執行命令程序,而這些命令程序需要經常使用文件名,因此shell提供了一些特殊字符來幫助快速指定或者篩選一組文件名。這些特殊的字符就被稱為“通配符”。通配符(也被稱為文件名替換)允許用戶依據字符模式選擇文件名。通配符可以與任意一個使用文件名為參數的命令一起使用。並且通配符不但可以在命令行程序中起作用,也可以在GUI程序中起作用。
二 ,通配符
下面提供了常用的通配符字符, 通配符字符類以及實際中使用通配符的實例
通配符字符
通配符 匹配項
* 匹配任意多個字符 (包括0個和1個)
? 匹配任意單一字符 (不包括0個)
[ characters ] 匹配任意一個屬於字符集中的字符 就是[ ]
[ !characters ] 匹配任意一個不屬於字符集中的字符 就是[! ]
[[ :class: ]] 匹配任意一個屬於指定字符類中的字符
通配符字符類
字符類 匹配項
[ :alnum: ] 匹配任意一個字母或數字
[ :alpha: ] 匹配任意一個字符
[ :digit: ] 匹配任意一個數字
[ :lower: ] 匹配任意一個小寫字母
[ :upper: ] 匹配任意一個大寫字母
[ :space: ] 所有空格
[ :punct: ] 所有標點符號
通配符實例
形式 匹配項
g* 以g開頭的任意文件
b*.txt 以b開頭,中間有任意多個字符,並以.txt結尾的任意一個文件
Data??? 以Data 開頭,后面跟3個字符的任意一個文件
[abc] 以abc 中的任意一個開頭的任意一個文件
BACKUP.[0-9][0-9][0-9] 以BACKUP.開頭,后面跟3個數字的任意一個文件
[[ :upper: ]]* 以大寫字母開頭的任意一個文件
[![ :digit: ]]* 不以數字開頭的任意一個文件
注意:字符類並不是通配符,不能單獨產生作用要結合通配符才能發揮作用,
例如 [:digit:] 本身沒有意義只代表字符串