linux檔名匹配(萬用字元使用)

2021-08-04 08:25:20 字數 909 閱讀 4136

**:

當在使用命令行時,有很多時間都用來查詢你所需要的檔案,如ls find等。 s h e l l提供了一套完整的字串模式匹配規則,或者稱之為元字元,當s h e l l遇到上述字元時,就會把它們當作特殊字元,而不是檔名中的普通字元,這樣使用者就可以用它們來匹配相應的檔名,我理解這可以稱為萬用字元。

萬用字元與正規表示式是有區別的,簡單來說:萬用字元是用來通配的,正規表示式是用來匹配字串的;在文字過濾工具裡,都是用正規表示式,比如像awk,sed,等,是針對檔案的內容的。而萬用字元多用在檔名上,比如查詢find,ls,cp,等等。其次,shell對萬用字元與正規表示式的出了有不同,「 」內一般為萬用字元(是shell本身提取處理),『 』內一般為正規表示式(shell會將其中的資料傳遞給其它命令處理)。

下面就是通常意義上的萬用字元:

*   匹配檔名中的任何字串,包括空字串。

? 匹配檔名中的任何單個字元。

[...]   匹配[ ]中所包含的任何字元。

[!...]   匹配[ ]中非感嘆號!之後的字元。

如:5*           5開頭的所有字串

*5           5結尾的所有字串

*5?        以5為倒數第二個字元的字串

[0-9]    所有以數字的字元

[1,2]         1或者2

[!0-9]        不是數字的字元

ls /etc/[!a-n]*.conf 

列出/etc/目錄中不是以字母a到n開頭的,並且以.conf結尾的檔案

ls /etc/[a-n]*.conf 

列出/etc/目錄中以字母a到n開頭的,並且以.conf結尾的檔案

ls /bin/[ck]* 

列出以 c或k開頭的檔名

如有不妥之處,請指正。

參考:

linux檔名匹配 萬用字元的使用

linux檔名匹配 萬用字元使用 1 掃盲 2 萬用字元詳細介紹 3 例項 背景 在linux使用過程中,經常需要查詢檔案,對命令中的萬用字元pattern和正規表示式的區分不是很清楚。有必要好好研究一下。回到頂部 1 掃盲 1.1 萬用字元和正規表示式 當在使用命令行時,有很多時間都用來查詢你所需...

Linux檔名匹配之萬用字元使用 小虎是逗比的部落格

linux檔案萬用字元 當在使用命令行時,有很多時間都用來查詢你所需要的檔案,如ls find等。shell提供了一套完整的字串模式匹配規則,或者稱之為元字元,當shell遇到上述字元時,就會把它們當作特殊字元,而不是檔名中的普通字元,這樣使用者就可以用它們來匹配相應的檔名,我理解這可以稱為萬用字元...

檔名萬用字元

1 單字元匹配元字元 元字元 表示匹配檔名中任意乙個字元,連續使用多個元字元 可以表示多個任意字元。1 例如要檢視有兩個字元且第乙個字母是a的檔案 root localhost zhu ls l a?rw r r 1 root root 0 dec 6 09 46 ab rw r r 1 root ...