萬用字元 正規表示式

2021-06-28 14:30:39 字數 1151 閱讀 1475

萬用字元

萬用字元是系統級別的 ⽽而正規表示式需要相關⼯工具和語⾔言的⽀支援: egrep, awk, vi,perl.

當您鍵入ls.txt命令並按enter後,尋找哪些檔案同.txt模式相匹配的任務不是由ls命令,而是由shell自己完成.這需要對命令列是如何被shell解析的作進一步解釋.當您鍵入:

___________________________

$ ls *.txt

readme.txt recipes.txt

___________________________

該命令首先被分割成一系列單詞(本例中的ls和.txt).當shell在某個單詞中發現了,他會將整個單詞當作通配模式解析,並用所有相匹配的檔案替換它.因此,該命令在執行前就變成為ls readme.txt recipe.txt,而這將得到期望的結果.

萬用字元語法

萬用字元語法: 星號 將與零個或多個字元匹配.意思是:"什麼都可以".

例如:/etc/g* 與/etc中以g開頭的所有檔案匹配.

萬用字元語法:? 與任何單個字元匹配.

例如:myfile? 與檔名 myfile後跟單個字元的任何檔案匹配.

/tmp/notes?txt 將與 /tmp/notes.txt 和 /tmp/notes_txt 都匹配.

萬用字元語法: [!] 該萬用字元與?相似,但允許指定得更確切.要使用該萬用字元,把您想要匹配的所有字元放在內.結果的表示式將與中任一字元相匹配.您也可以用 - 來指定範圍,甚至還可以組合範圍.

[...]:同方括號中的任意乙個字元相匹配.這些字元可以用字元範圍(比如1-9)或者離散值同時使用兩者表示.例如:[a-zbe5-7]同所有a到z之間的字元和b,e,5,6,7相匹配.

[!...]:與所有不在方括號中的某個字元相匹配.例如:[!a-z]同某個非小寫字母相匹配[5];

例子:myfile[12]將與myfile1和myfile2匹配. 只要當前目錄中至少有乙個這樣的檔案存在,該萬用字元就可以進行擴充套件.

ls /etc/[0-9]*將列出 /etc中以數字開頭的所有檔案.

正規表示式

上述這些構造都可以自由組合,因此,"h(ae?|b)ndel"和"h(a|ae|b)ndel"是相同的.

萬用字元 正規表示式

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

正規表示式,萬用字元

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

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

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