Shell中的萬用字元

2022-05-24 11:45:14 字數 1429 閱讀 3554

shell常見的萬用字元,注意與正則稍有不同:

字元含義例項*

匹配0個或多個任意字元

a*b,a與b之間可以有任意長度的字元,也可以沒有。

例如:aabcb,ab,azxcb...

?匹配乙個任意字元

a?b,a與b之間必須但也只能存在乙個字元,該字元可以是任意字元。

例如:aab,abb,acb...

[list]

匹配list中的任意單個字元

a[xyz]b,a與b之間必須但也只能存在乙個字元,該字元只能是x或y或z。

例如:axb,ayb,azb

[!list]

匹配除list中的任意單個字元

a[!a-z]b,a與b之間必須但也只能存在乙個字元,該字元不能是小寫字母。

例如:aab,a0b...

[c1-c2]

匹配c1-c2間的任意單個字元

a[0-1]b,a與b之間必須但也只能存在乙個字元,該字元只能是數字。

例如:a0b,a1b...

匹配string1、string2等中的乙個字串

ab,a與b之間必須但也只能存在乙個字串,字串只能是abc或xyz或opq。

例如:aabcb,axyzb,aopqb...

例項:

[root@youxi1 ~]# ls /etc/*.conf

/etc/asound.conf /etc/kdump.conf /etc/man_db.conf /etc/sudo-ldap.conf

/etc/chrony.conf /etc/krb5.conf /etc/mke2fs.conf /etc/sysctl.conf

/etc/dracut.conf /etc/ld.so.conf /etc/nsswitch.conf /etc/vconsole.conf

/etc/e2fsck.conf /etc/libaudit.conf /etc/resolv.conf /etc/yum.conf

/etc/fuse.conf /etc/libuser.conf /etc/rsyslog.conf

/etc/geoip.conf /etc/locale.conf /etc/sestatus.conf

/etc/host.conf /etc/logrotate.conf /etc/sudo.conf

[root@youxi1 ~]# ls /etc/???.conf

/etc/yum.conf

[root@youxi1 ~]# touch file

[root@youxi1 ~]# ls file*

file1 file2 file3

[root@youxi1 ~]# ls file[123]

file1 file2 file3

shell中的萬用字元

shell支援的萬用字元 shell支援一組萬用字元用於處理資料,但是要和正規表示式區別開來。shell的萬用字元實現的功能比較簡單,常用於檔名匹配,遠不及正規表示式強大和廣泛。不過對於日常使用linux還是有非常大的幫助的。下表取自 鳥哥的linux私房菜 符號意義 代表 0 個到無窮多個 任意字...

Shell中的萬用字元

在 bash 中,如果需要模糊匹配檔名或目錄名,就要用到萬用字元。下面為常用的萬用字元。萬用字元說明 匹配0或任意個字元 匹配乙個任意字元 匹配中括號的字元。例如 a b 匹配小寫字母,只會匹配集合中的乙個 匹配除了中括號的乙個字元。例如 0 9 匹配除了數字的字元,只會匹配集合中的乙個 匹配其中乙...

shell中的萬用字元

為了清理一些日誌檔案,這些檔案有部分特徵,通過使用shell萬用字元可以匹配到,當然正則也可以,而且更強大。這裡先說shell的萬用字元 shell支援的萬用字元 shell支援一組萬用字元用於處理資料,但是要和正規表示式區別開來。shell的萬用字元實現的功能比較簡單,常用於檔名匹配,遠不及正規表...