- *:匹配任何字串(和空字串與空白字元)
- ?:匹配1個字元
- [abc]:abc裡面任何一個字元,要注意大小寫有區分
[123]:123裡面任何一個字元 - [a-z]:匹配a到z這26字元的任何一個,要注意大小寫有區分
[0-9]:匹配0到9這10個字元的任何一個
要注意路徑分隔字元/,並不會被匹配進去,但是中括號[與]會被匹配。下面則是介紹反面列表符號!(又稱為complementation):
- [!abc]:不匹配abc裡面的任何1個字元
- [!]a-]:不匹配 ] 或 a 或 -
下面是一些好玩的匹配模式,注意每次只能夠匹配單一字元:
- [A-Fa-f3-9]:等同於[ABCDEFabcdef3456789]
- [[:alnum:]]:數字或是字母
- [[:alpha:]]:字母
- [[:blank:]]:一個空白字元
- [[:cntrl:]]:
- [[:digit:]]:等同於[0-9]
- [[:graph:]]:
- [[:lower:]]:等同於[a-z]
- [[:print:]]:
- [[:punct:]]:
- [[:space:]]:
- [[:upper:]]:等同於[A-Z]
- [[:xdigit:]]:
- [[=a=]]:等同於[aáàäâ]
參考資料
- man 7 glob:在Linux裡面看globbing pathnames
- man 1 glob:在Mac裡面看
- man bash:參考Pathname Expansion
- glob(7) - Linux man page
- glob (programming):英文維基百科上面對glob的解釋
- Gulp 學習筆記 - Glob 篇:Glob 類似於 regular expression,但是僅用來匹配檔案路徑名稱。名稱由來是 UNIX 一個負責解析匹配檔案、叫做 global command 的模組。
沒有留言:
張貼留言