shell學習之 檔名的匹配

2021-04-13 21:15:02 字數 750 閱讀 8434

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...