Linux shell 里面 sed的命令能夠記住之前的子樣式,這樣被稱為反向引用。
反向引用就是把正則表達(dá)式匹配出來的組引用到表達(dá)式本身的其他地方。
這里介紹一下sed的反向引用。
sed -n ‘/(.)(.)21/p’ filename
這里出現(xiàn)的. 點(diǎn)號,是sed用來匹配單個字符的正則表達(dá)式。
如果要匹配一個字符,并且進(jìn)行反向引用。就可以使用(.)匹配單個字符,再用1引用它,于是變成了:
sed ‘/(.)1/p’ filename
sed里面可以用字串匹配標(biāo)記1 去匹配。(pattern)用來匹配字串。模式被包括在使用斜線轉(zhuǎn)義過的小括號()中。
sed -n ‘/^(.)(.)21/p’ filename
這里用了2個(.)匹配并且記錄前兩個字符,sed會記住所有位于(和)中的匹配內(nèi)容,并且反向引用它們。21用來對所匹配的字符以相反的順序進(jìn)行反向引用。
/p一般是用來打印樣式。為了指明必須從行首開始匹配,我們加入了行首標(biāo)記^。
鼓勵的話語:須知少年凌云志,曾許人間第一流!