Shell中的特殊字符

介紹[54,17]正則表達式

  bash自己並不支持正則表達式regex, shell下的有些工具是支持解釋regex,使用regex的是shell命令和工具, grep,sed,awk.shell 支持通配符,區別於regex,通配是把一個包含通配符的非具體文件名擴展存儲在計算機,服務器或者網絡上的一批具體文件名的過程.shell


通配符文件名匹配bash

  通配符用來匹配文件名,路徑名,包括命令, 一般將四種通配方式組合使用。Linux 文件名可以使用除/ 外的任何可打印字符(文件名開頭和結尾的空格很難識別,除非有意,避免使用空格和tab來命名文件以免沒必要要的麻煩)。以. 開頭的文件爲隱藏文件。服務器


? * [] {} ^ 和內部變量GLOBIGNORE 構成了shell通配的全部內容.網絡

*ide

匹配零個多個字符(開頭的.除外),可匹配其它位置的,能夠是空字符串工具

?spa

匹配除首字符外的任意單個字符(開頭的.除外),且不匹配空blog

[...]字符串

匹配給出列表或範圍中的任意一個字符

[^...]

匹配給出列表或範圍外的任意一個字符

{}

表示一組字符串的集合


使用示例

[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解釋。

其它特殊字符

相關文章
相關標籤/搜索