shell程式設計之-檔名的匹配
shell提供了一套完整的字元匹配機制,這裡說明以下檔名的匹配規則。
特殊字元:
* 匹配檔名中的任何字串,包括空串
? 匹配檔名中的任意單個字元
[...] 匹配中所包含的任何字元
[!...] 匹配中非感嘆號!之後的字元
1,使用*
該符號可以匹配檔名中的任何字串,下面是一些實用的例子。
(2)ls *.doc #列出字尾為.doc的所有檔案
(3)cl*.doc #列出以cl開頭且字尾為.doc的所有檔名
(4)ls -l | grep ^d #列出該目錄中的所有是目錄的檔案
2,檔名中單個字元的匹配
(1)ls ??r* #列出第三個字元是r的所有檔名
(2)ls boot.???.* #列出以boot.開頭的後加三個字元和乙個.的所有檔名
3,檔名的或操作
(1)ls [io]* #列出所有以i或o字母開頭的檔名
(2)ls [0-9]* #列出以0-9數字中任意乙個開頭的檔名
(3)ls [a-z]*
(4)ls [!0-9]* #列出開頭不是0-9之間的任意數字的所有檔名
(5)ls *.[0-9] #列出所有以0-9之間任意乙個數字結尾的檔名
linux檔名匹配
匹配檔名中的任何字串,包括空字串。匹配檔名中的任何單個字元。匹配 中所包含的任何字元。匹配 中非感嘆號!之後的字元。如 s s開頭的所有字串 s s結尾的所有字串 s?以s為倒數第二個字元的字串 0 9 所有以數字的字元 a,b a或者b 0 9 不是數字的字元 ls user a n sh 列出 ...
Python檔名的匹配之clob庫
既然在pathlib庫中提到了glob 函式,那麼我們就專門用一篇內容講解檔名的匹配。其實我們有專門的乙個檔名匹配庫就叫 glob。不過,glob庫的api非常小,但是僅僅應用於檔名的匹程式設計客棧配綽綽有餘。只要是在實際的專案中需要過濾,或者匹配一組檔案,都可以使用該庫進行操作。星號 話不多說,下...
fnmatch 檔名的正則匹配
fnmatch int fnmatch const char pattern,const char string,int flags man中是這麼寫道 the fnmatch function checks whether the string argument matches the patte...