Shell 萬用字元

2021-05-17 14:38:56 字數 681 閱讀 1989

您可能已經在不知不覺中早已使用了通配

中指定檔案或尋找檔案時,您使用 * 代表任意字串。例如:*.txt 同所有以 .txt 結尾的檔案相匹配。我們也在上一節常常使用到它們。不過,除了 * ,還有很多其他的萬用字元。

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

$ ls *.txt

readme.txt recipes.txt

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

以下是一些萬用字元模式及其說明:

[5 ]

請注意:雖然這對大多數語言適用,但可能不適用於您個人的語言設定(locale )!這取決於字元排列順序

。對於某些語言配置,[a-z] 同 a、a、b、b、(...)、z 匹配。而且我們也沒有考慮到事實上某些語言還具有「帶重音符號的字元 」等等。

shell萬用字元匹配

當輸入包含特殊字元 元字元 的部分檔名時,shell可以生成與已有檔名匹配的檔名。這些字元稱為萬用字元 wildcard 就像撲克牌中的王牌一樣無所不能。包含特殊字元的檔名稱為模糊檔案引用 ambiguous file reference 因為它們不引用任何乙個特定檔案。對這些檔名操作的過程稱為擴充...

shell中的萬用字元

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

好用的shell萬用字元

我們在使用 shell 執行任務的過程中,常常會遇到需要處理一批資料的情況,如果我們乙個乙個的傳遞引數就會非常的麻煩,這時候就需要用到 shell 的萬用字元功能了。例如rm txt可以刪除當前目錄下所有的 txt 檔案。shell 萬用字元起到的是拓展引數的功能,注意 shell 萬用字元是由 s...