Linux Bash Shell預處理通配符

在 Shell 中執行命令時會先進行預處理,將通配符替換成匹配的文件或目錄,如果沒有找到匹配,則將通配符當成普通字符處理。


通配符wildcar

符號

意義

*

代表0個到無窮多個任意字符

?

代表一定有一個任意字符

[]

同樣代表一定有一個在中括號內的字符(非任意字符)。例如[abcd]代表一定有一個字符,可能是a,b,c,d這四個任何一個

[-]

若有減號在中括號時,代表在編碼順序內的所有字符。例如[0-9]代表09之間的所有數字,因爲數字的語系編碼是連續的

[^]

任意中括號內的第一個字符爲指數符號(^),那表示反向選擇,例如[^abc]代表一定有一個字符,只要是非a,b,c的其他字符就接受的意思。

{}

表示一個範圍:{..}

[root@www ~]#  echo {a..d}
a b c d
[root@www ~]#  echo {1..10}
1 2 3 4 5 6 7  8 9 10


表示至少有兩個以上的組合:使用逗號分隔字符集 {,}

[root@www ~]# echo a{b,c,d}
ab ac ad
[root@www ~]# mkdir -v a{,b}
mkdir: created directory `a'
mkdir: created directory `ab'



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章