sed中的正則匹配

sed很早就支持正則表達式了监憎,這在文件處理中非常有用,以下列出一些常見用法(GNU SED版本)婶溯。

1. 行首/行尾

行首用^表示鲸阔,行尾用$表示。例如有如下test.txt文件:


如果我們想把其中第一列的Potri.去掉迄委,那么可以:

sed 's/^Potri.//g' test.txt 

假如想在最后數(shù)字的后面加一列"yes":

sed 's/$/\tyes/g' test.txt
2. 匹配字符

(來自https://wiki.jikexueyuan.com/project/unix/regular-expressions.html)

比較常用的有:

字符 含義
. 匹配除換行符以外的任意字符
\w 匹配字母或數(shù)字或下劃線
\s 任意的空白符(包括空格制表符換頁符)
[0-9] 任意0到9中數(shù)字
[a-zA-Z] 26個英文字母中的一個褐筛,不區(qū)分大小寫
3. 匹配在列表中的任意字符

用[]代表這樣的列表,比如:

echo -e "Cat\nBat\nHat" | sed -n '/[CH]at/ p'

結(jié)果輸出:
Cat
Hat
[]代表從其中選擇一個叙身。

4. 不在列表中的任意字符
echo -e "Cat\nBat\nHat" | sed -n '/[^CH]at/ p'

僅輸出Bat渔扎。

5. 匹配出現(xiàn)某種次數(shù)(+; * ; ?; {n}; {n,}; {m,n})

出現(xiàn)不止一次(>= 1): \+
出現(xiàn)0或1次:\?
出現(xiàn)n次:{n}
出現(xiàn)>=n次:{n,}
出現(xiàn)m到n次:{m, n}

注意前后括號{}都需要轉(zhuǎn)義。

6. 或者

或者 | 常與 () 一起使用信轿,注意兩者都需要反斜杠\轉(zhuǎn)義晃痴。

echo -e "Cat\nBat\nHat" | gsed -n '/\(C\|B\|H\)at/p'
7. 特殊字符轉(zhuǎn)義

一些特殊字符比如換行符\n或者回車\r等,匹配的時候在前面再加一個反斜杠轉(zhuǎn)義虏两,如\\r愧旦。

8. 例子

匹配上海市電話號碼:

# eg. 021-52060888
echo 021-52060888 | sed -n '/^012-[0-9]\{8\}/p'

匹配ip地址:

echo '127.255.255.254' | sed -n '/[0-9]\+.[0-9]\+.[0-9]\+.[0-9]\+/p'

值得注意的是,在sed中不支持\d匹配數(shù)字定罢,此處須用[0-9]笤虫。

歡迎關(guān)注!


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市琼蚯,隨后出現(xiàn)的幾起案子酬凳,更是在濱河造成了極大的恐慌,老刑警劉巖遭庶,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宁仔,死亡現(xiàn)場離奇詭異,居然都是意外死亡峦睡,警方通過查閱死者的電腦和手機翎苫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來榨了,“玉大人煎谍,你說我怎么就攤上這事×耄” “怎么了呐粘?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長转捕。 經(jīng)常有香客問我作岖,道長,這世上最難降的妖魔是什么五芝? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任痘儡,我火速辦了婚禮,結(jié)果婚禮上与柑,老公的妹妹穿的比我還像新娘谤辜。我一直安慰自己,他們只是感情好价捧,可當我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布丑念。 她就那樣靜靜地躺著,像睡著了一般结蟋。 火紅的嫁衣襯著肌膚如雪脯倚。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天嵌屎,我揣著相機與錄音推正,去河邊找鬼。 笑死宝惰,一個胖子當著我的面吹牛植榕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播尼夺,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼尊残,長吁一口氣:“原來是場噩夢啊……” “哼炒瘸!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起寝衫,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤顷扩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后慰毅,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體隘截,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年汹胃,在試婚紗的時候發(fā)現(xiàn)自己被綠了婶芭。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡统台,死狀恐怖雕擂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情贱勃,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布谤逼,位于F島的核電站贵扰,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏流部。R本人自食惡果不足惜戚绕,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望枝冀。 院中可真熱鬧舞丛,春花似錦、人聲如沸果漾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽绒障。三九已至吨凑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間户辱,已是汗流浹背鸵钝。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留庐镐,地道東北人恩商。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像必逆,于是被迫代替她去往敵國和親怠堪。 傳聞我的和親對象是個殘疾皇子韧献,可洞房花燭夜當晚...
    茶點故事閱讀 43,527評論 2 349