萬用字元 正規表示式

2021-06-26 04:36:38 字數 2562 閱讀 8406

萬用字元

「萬用字元是系統級別的 ⽽而正規表示式需要相關⼯工具和語⾔言的⽀支援

: egrep, awk, vi,perl。

當您鍵入

ls .txt

命令並按

enter

後,尋找哪些檔案同

.txt

模式相匹配的任務不是由

ls 命令,而是由

shell

自己完成。這需要對命令列是如何被

shell

解析的作進一步解釋。當您鍵入:

萬用字元語法:**

將與零個或多個字元匹配。這就是說

「什麼都可以

」。例子:

/etc/g*

與 /etc

中以 g

開頭的所有⽂檔案匹配。

/tmp/my*.txt

與 /tmp

中以 my

開頭,並且以

.txt

結尾的所有⽂檔案匹配。

$ ls *.txt

readme.txt recipes.txt

該命令首先被分割成一系列單詞

(本例中的

ls 和

.txt)

。當 shell

在某個單詞中發現了 ,它會將整個單詞當作通配模式解析,並用所有相匹配的檔案替換它。因此,該命令在執行前就變為

lsreadme.txt recipe.txt

,而這將得到期望的結果。其餘萬用字元有:

萬用字元語法:??

與任何單個字元匹配。例子:

萬用字元語法:

[!]該萬用字元與

? 相似,但允許指定得更確切。要使用該萬用字元,把您想要匹配的所有字元放在

內。結果的表示式將與

中任一字元相匹配。您也可以用

- 來指定範圍,甚至還可以組合範圍。

[...]

:同方括號中的任意乙個字元相匹配。這些字元可以用字元範圍

(比如

1-9)

或者離散值或同時使用兩者表示。例如:

[a-zbe5-7]

同所有

a 到

z 之間的字元和 b、

e、5、

6、7 相匹配。

[!...]

:與所有不在方括號中的某個字元匹配。例如

[!a-z]

同某個非小寫字母相匹配

[5];

myfile?

與⽂檔名為

myfile

後跟單個字元的任何⽂檔案匹配。

/tmp/notes?txt

將與 /tmp/notes.txt

和 /tmp/notes_txt

都匹配,如果它們存在。

例子:myfile[12]

將與 myfile1

和 myfile2

匹配。只要當前⺫⽬目錄中⾄至少有⼀乙個這樣的⽂檔案存在,該通

配符就可以進⾏行擴充套件。

rm myfile[!9]

將刪除除

myfile9

之外的名為

myfile

加⼀乙個字元的所有⽂檔案。

ls /etc/[0-9]*

將列出

/etc

中以數字開頭的所有⽂檔案。

ls /tmp/[a-za-z]*

將列出

/tmp

中以⼤大寫字⺟母或⼩小寫字⺟母開頭的所有⽂檔案。

:同 c1

或者 c2

相匹配。其中

c1 和

c2 也是萬用字元。因此,您可以使用 。

正規表示式

選擇|

豎直分隔符代表選擇。例如

「gray|grey」

可以匹配

grey

或gray。

數量限定

+ 加號代表前面的字元必須至少出現一次。(

1次、或多次)。例如,

「goo+gle」

可以匹配

google

、gooogle

、goooogle等

? 問號代表前面的字元最多隻可以出現一次。(

0次、或

1次)。例如,

「colou?r」

可以匹配

color

或者colour

* 星號代表前面的字元可以不出現,也可以出現一次或者多次。(

0次、或

1次、或多次)。例如,

「0*42」

可以匹配42、

042、

0042

、00042等。

匹配圓括號可以用來定義操作符的範圍和優先度。例如,

「gr(a|e)y」等價

於「gray|grey」

,「(grand)?father」

匹配father

和grandfather

。上述這些構造子都可以自由組合,因此,

「h(ae?|b)ndel」

和「h(a|ae|b)ndel」

是相同的。

萬用字元 正規表示式

萬用字元 萬用字元是系統級別的 而正規表示式需要相關 工具和語 言的 支援 egrep,awk,vi,perl.當您鍵入ls.txt命令並按enter後,尋找哪些檔案同.txt模式相匹配的任務不是由ls命令,而是由shell自己完成.這需要對命令列是如何被shell解析的作進一步解釋.當您鍵入 ls...

正規表示式,萬用字元

shell中正規表示式和萬用字元 linux上實際操作是什麼情況,就是什麼情況,理論只是猜測,試驗結果大於一切 萬用字元一般是用於匹配符合條件的檔名 例如 ls fei hai 而正規表示式則一般是用於在檔案中匹配符合條件的字串。萬用字元是完全匹配,而正規表示式則是包含匹配。例如命令find nam...

Shell萬用字元 正則 正規表示式

shell萬用字元 正則 正規表示式 shell 中支援使用萬用字元,常用的萬用字元如下 表示任意單個字元 表示任意長度的任意字串 表示匹配放在中的字符集中的任意乙個字串 大括號中的字串中用英文逗號隔開。www.2cto.com 宣告 以下的顯示目錄下的所有檔案不包括遞迴。示例1 顯示當前目錄下ap...