標籤:shell 特殊字元
介紹[54,17]
bash本身並不支援Regexregex, 而shell下的有些工具是支援解釋regex的,使用regex的是shell命令和工具, 如grep,sed,awk等.但shell 支援萬用字元,區別於regex,通配是把一個包含萬用字元的非具體檔案名稱擴充儲存在電腦,伺服器或者網路上的一批具體檔案名稱的過程.
萬用字元檔案名稱匹配
萬用字元用來匹配檔案名稱,路徑名,包括命令, 通常將四種通配方式組合使用。Linux 檔案名稱可使用除/ 外的任何可列印字元(檔案名稱開頭和結尾的空格很難識別,除非有意,避免使用空格和tab來命名檔案以避免不必要的麻煩)。以. 開頭的檔案為隱藏檔案。
? * [] {} ^ 和內部變數GLOBIGNORE 構成了shell通配的所有內容.
* |
匹配零個或多個字元(開頭的.除外),可匹配其它位置的,可以是Null 字元串 |
? |
匹配除首字元外的任意單個字元(開頭的.除外),且不匹配空 |
[...] |
匹配給出列表或範圍中的任意一個字元 |
[^...] |
匹配給出列表或範圍外的任意一個字元 |
{} |
表示一組字串的集合 |
使用樣本
[abcd] 匹配abcd中任何一個字元
[a-h] a-h 中的任意一字元
[0-9]匹配0-9中任何一個數字
[a-zA-Z0-9]
[!0-9]
mkdir/touch test{a,b}
mkdir/touch /test/{a,b}
ls [xyz]*.conf
shell 特殊符號
關於引用quote
引用是將字串用引用符號引起來,以防止特殊字元被shell指令碼重解釋為其他意義,且屏蔽特殊字元的特殊意義,而將其解釋為字面意義,用於引用的字元有逸出字元\,單引號‘‘ 雙引號""
shell若只想將會被它處理的特殊字元當作一般字元處理。bash shell 有三種方法避免字元被shell解釋。
650) this.width=650;" src="http://img1.51cto.com/attachment/201411/14/2363901_1415948869EPa2.png" />
其它特殊字元
650) this.width=650;" src="http://img1.51cto.com/attachment/201411/14/2363901_1415948885t8Pa.png" />
本文出自 “Adelphos” 部落格,請務必保留此出處http://adelphos.blog.51cto.com/2363901/1576530
Shell中的特殊字元