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 root 0 dec 6
09:46
ac-rw-r--r-- 1 root root 0 dec 6
09:46 ad
(2)也可以使用多個「?」,例如要檢視由字母a和任意兩個字元組成的檔案:
[root@localhost zhu]# ls -l a??-rw-r--r-- 1 root root 0 dec 6
09:49
abc-rw-r--r-- 1 root root 0 dec 6
09:49
acd-rw-r--r-- 1 root root 0 dec 6
09:49 add
(3)檢視所有由4字元組成且第3個字元是c的檔案:
[root@localhost zhu]# ls -l ??c?-rw-r--r-- 1 root root 0 dec 6
09:47 abcd
2、多字元匹配元字元「*」
元字元「*」表示匹配檔名中的任意字串。匹配的字串長度可以是0-n。
(1)檢視以字母c結尾的檔案:
[root@localhost zhu]# ls -l *c-rw-r--r-- 1 root root 0 dec 6
09:49
abc-rw-r--r-- 1 root root 0 dec 6
09:46 ac
(2)檢視所有以a開頭並以c結尾的檔案:
[root@localhost zhu]# ls -l a*c-rw-r--r-- 1 root root 0 dec 6
09:49
abc-rw-r--r-- 1 root root 0 dec 6
09:46 ac
(3)元字元混合使用:
[root@localhost zhu]# ls -l *c?-rw-r--r-- 1 root root 0 dec 6
09:47
abcd
-rw-r--r-- 1 root root 0 dec 6
09:49 acd
(4)檢視第3個字元為c的所有檔案:
[root@localhost zhu]# ls -l ??c*-rw-r--r-- 1 root root 0 dec 6
09:49
abc-rw-r--r-- 1 root root 0 dec 6
09:47 abcd
3、字元範圍匹配符「」
範圍匹配符「」通常用於匹配乙個字元範圍,其表現形式可以是減號「-」,表示字母或數字的範圍;也可以是幾個字元的組合,表示這幾個字元中的任乙個。
(1)範圍匹配符中出現幾個字元的組合,如下,表示以a開頭或者以b開頭或者以c開頭或者以d開頭或者以e開頭的所有檔案:
[root@localhost zhu]# ls -l [abcde]*-rw-r--r-- 1 root root 0 dec 6
09:46
ab-rw-r--r-- 1 root root 0 dec 6
09:49
abc-rw-r--r-- 1 root root 0 dec 6
09:47
abcd
-rw-r--r-- 1 root root 0 dec 6
09:46
ac-rw-r--r-- 1 root root 0 dec 6
09:49
acd-rw-r--r-- 1 root root 0 dec 6
09:46
ad-rw-r--r-- 1 root root 0 dec 6
09:49 add
(2)檢視以a開頭並且倒數第二個字元是cde中任乙個的所有檔案:
[root@localhost zhu]# ls -l a*[cde]?-rw-r--r-- 1 root root 0 dec 6
09:47
abcd
-rw-r--r-- 1 root root 0 dec 6
09:49
acd-rw-r--r-- 1 root root 0 dec 6
09:49 add
(3)使用符號「-」可以匹配字母或數字範圍中的任意乙個:
[root@localhost zhu]# ls -l *[0-9]*-rw-r--r-- 1 root root 0 dec 6
10:06
a0_test
-rw-r--r-- 1 root root 0 dec 6
10:06 zhu3_test
(4)檢視所有由兩個字元組成,且第二個字元是字母的檔案:
[root@localhost zhu]# ls -l ?[a-z]-rw-r--r-- 1 root root 0 dec 6
09:46
ab-rw-r--r-- 1 root root 0 dec 6
09:46
ac-rw-r--r-- 1 root root 0 dec 6
09:46
ad-rw-r--r-- 1 root root 0 dec 6
10:08
ea-rw-r--r-- 1 root root 0 dec 6
10:08
tx-rw-r--r-- 1 root root 0 dec 6
10:08 yz
上面的命令中,[a-z]表示所有字母,也可以用[a-za-z]表示所有字母。
4、排除範圍匹配符「[!]」或者「[^]"
排除範圍匹配符「[!]」表示不匹配符號內出現的字元組合或字母數字範圍。使用時,感嘆號!只能放在要排除的字串首。
(1)檢視只有兩個字元並以數字開頭且第二個字元不是數字的檔案:
[root@localhost zhu]# ls -l [0-9][!0-9]-rw-r--r-- 1 root root 0 dec 6
10:15 3d
(2)檢視只有兩個字元且兩個字元都不是字母的檔案:
[root@localhost zhu]# ls -l [!a-z][!a-z]-rw-r--r-- 1 root root 0 dec 6
10:16 %3
-rw-r--r-- 1 root root 0 dec 6
10:16
34
linux檔名匹配(萬用字元使用)
當在使用命令行時,有很多時間都用來查詢你所需要的檔案,如ls find等。s h e l l提供了一套完整的字串模式匹配規則,或者稱之為元字元,當s h e l l遇到上述字元時,就會把它們當作特殊字元,而不是檔名中的普通字元,這樣使用者就可以用它們來匹配相應的檔名,我理解這可以稱為萬用字元。萬用字...
檔名萬用字元 命令別名
檔名萬用字元 能夠匹配符合指定特徵的字元 任意長度的字元 任意單個字元 代表指定範圍的單個字元 命令別名 alias cmdalias command option argument alias 檢視定義的別名 定義別名 root localhost alias if1 ifconfig ens33...
linux檔名匹配 萬用字元的使用
linux檔名匹配 萬用字元使用 1 掃盲 2 萬用字元詳細介紹 3 例項 背景 在linux使用過程中,經常需要查詢檔案,對命令中的萬用字元pattern和正規表示式的區分不是很清楚。有必要好好研究一下。回到頂部 1 掃盲 1.1 萬用字元和正規表示式 當在使用命令行時,有很多時間都用來查詢你所需...