檔名萬用字元

2021-09-06 12:58:55 字數 3550 閱讀 3560

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 萬用字元和正規表示式 當在使用命令行時,有很多時間都用來查詢你所需...