shell正規表示式

2021-05-24 06:29:45 字數 2199 閱讀 9387

句點"."匹配單字元

1) . : 匹配任意單ascii 字元,可以為字母,或為數字。

2) 舉例: ..xc..匹配dexc1t、23xcdf 等,.w..w..w.匹配rwxrw-rw-

行首以^匹配字串或字串行

1) ^ : 允許在一行的開始匹配字元或單詞。

2) 舉例: ^.01 匹配0011cx4、c01sdf 等,^d 匹配drwxr-xr-x、drw-r--r--等

行尾以$匹配字串或字元

1) $ : 在行尾匹配字串或字元,$符號放在匹配單詞後。

2) 舉例: trouble$ 匹配以單詞trouble 結尾的所有行

^$匹配所有空行

使用*匹配字串中的單字元或其重複序列(與檔名置換中的"*"不一樣)

1) * : 乙個單字元後緊跟*,匹配0 個或多個此單字元。

2) 舉例: compu*t 將匹配字元u 一次或多次,即匹配computer computing compuuute 等

1033* 可以匹配 101333 10133 1013444 等

3) 在正規表示式中使用"*",有時會產生非預期的結果。

使用/遮蔽乙個特殊字元的含義

1) / : 用來遮蔽乙個元字元的特殊含義。因為有時在shell 中元字元有特殊含義。/可以使其失去應有意義。

2) 舉例: 在正規表示式中匹配以*.pas 結尾的所有檔案: /*/.pas$

使用匹配屬於乙個範圍或集合單個字元

1) [ ] : 匹配"[ ]"內的字元。可以是乙個單字元,也可以是字串行。可以使用"-"表示括號"[ ]"內字串行範圍,

如用[1-5]代替[12345]。可以用逗號","分隔括號""內的字元。

2) 當"^"符號當直接靠著"[",意指否定或不匹配括號""裡內容

3) 舉例: [0-9]匹配任意乙個數字;[a-z]匹配任意乙個小寫字母;[0-9a-za-z]匹配任意字母或數字;

[c,c]omputer 匹配computer 和computer;[^a-za-z]匹配任一非字母型字元

使用"/"匹配模式結果出現的次數

1) pattern/   : 匹配模式pattern 出現n 次的情形。

2) pattern/  : 匹配模式pattern 最少出現n 次的情形。

3) pattern/  : 匹配模式pattern 最多出現m 次的情形。

4) pattern/ : 匹配模式pattern 出現次數在n 與m 之間的情形。

5) 舉例: a/b 匹配的值為aab

a/b   匹配的值可以是aab 或aaaaab,但不能匹配ab

a/b  匹配的值可以是aab、aaab、aaaab,但不能匹配ab 或aaaaab 等

[0-9]/cx[0-9]/  匹配數字出現4 次後跟cx,最後是數字出現4 次的情形

6) 實際上真正的格式是 ,只不過對""應用了esacpe 字元"/"。

經常使用的正規表示式舉例

[ss]igna[ll]   匹配單詞signal、signal、signal、signal

[ss]igna[ll]/. 同上,但加一句點

^user$         只包含user 的行

/.             帶句點的行

^d..x..x..x    對使用者、使用者組及其他使用者、組成員有可執行許可權的目錄

^[^l]          排除符號鏈結檔案後的檔案目錄列表(即不是以"l"開始的行)

[yynn]         大寫或小寫y 或n

^.*$           匹配行中任意字串

^......$       包括6 個字元的行

[a-za-z]       任意單個字母

[a-z]*         至少乙個小寫字母

[^0-9/$]       非數字或美元符號

[123]          1 到3 中乙個數字

/^q            以^q 開始行

^.$            僅有乙個字元的行

^/.[0-9][0-9]  以乙個句點和兩個數字開始的行

[0-9]/-[0-9]/-[0-9]/               

日期格式dd-mm-yyyy

[0-9]//.[0-9]//.[0-9]//.[0-9]/  類ip 位址格式

nnn.nnn.nnn.nnn

.*             匹配任意多個字元

shell正規表示式

句點 匹配單字元 1 匹配任意單ascii 字元,可以為字母,或為數字。2 舉例 xc.匹配dexc1t 23xcdf 等,w.w.w.匹配rwxrw rw 行首以 匹配字串或字串行 1 允許在一行的開始匹配字元或單詞。2 舉例 01 匹配0011cx4 c01sdf 等,d 匹配drwxr xr ...

shell 正規表示式

一 從頭開始 echo the book sed n the p 二 結尾 三 聯合定位 this is a test 四 點字元 用於匹配除換行符之外的任何乙個單一字元 五 字元類 定義一類字元,用於匹配文字模式中的某一位置 例如 echo n ch at p data the cat is sl...

shell 正規表示式

在說正規表示式之前,先說兩個概念。元字元 元字元簡單的說就是描述字元的字元 正規表示式 用一串字元和元字元構成的字串。下面就具體說一下正規表示式元字元的意義 1.用於匹配前面乙個普通字元的0次或多次 hel o 就表示匹配l字元的0次或多次,如helo hello helllo等 2.用於匹配乙個任...