Day14-Linux正則表達(dá)式與三劍客實(shí)踐

1砂竖、什么是正則表達(dá)式么介?

作用和特殊字符一樣罪治。

正則表達(dá)式是為處理大量的字符串及文本而定義的一套規(guī)則和方法秋泄。

開(kāi)發(fā)者

假設(shè)"@"代表“I am”,"!"代表“oldboy”规阀,

則執(zhí)行echo "@!"的結(jié)果就是輸出“I am oldboy”恒序。

2、提高效率谁撼,快速獲取到想要的內(nèi)容歧胁。

3、適用于三劍客命令 grep(egrep),sed,awk ? 以行為單位處理厉碟。

易混淆事項(xiàng)

1喊巍、和通配符區(qū)別。

2箍鼓、開(kāi)發(fā)人員正則崭参,一般是Perl兼容正則表達(dá)式。

3款咖、Linux系統(tǒng)三劍客正則表達(dá)式******何暮。

分類(lèi):

1、BRE ?grep

2铐殃、ERE ?egrep

es? ? 匹配e es?

es* ? 匹配e es ess essssss essssssssss 更多s海洼。

?0

0?

代表 自身是 .代表任意一個(gè)字符。

匹配 富腊? 匹配前一個(gè)字符坏逢。

e*s* 和e?s?

e* ?空 e ee eeee eeeeee

s* ?空 s ss sss ssssssssssssss

e*s* 空 es e s ees essssss

e?s? 空 e s es?

e? 空 e

s? 空 s

=========================================

e+ ? ? e ee eee eeeee ?.........

e* ?空 e ee eeee eeeeee .........

e? ?空 e

=========================================

a{n,m} 匹配前一個(gè)字符最少n次,最多m次

a{n,} 匹配前一個(gè)字符最少n次

a{n} 匹配前一個(gè)字符正好n次

a{,m} 匹配前一個(gè)字符最多m次

(0)===\1

(0)(0) ? ?\1 ? ? ? ? ? ? \2

? ? ? ?第一個(gè)括號(hào) ? ?第二個(gè)括號(hào)

egrep -o "(e)(s)\1\2" oldboy.txt ===== egrep -o "eses" oldboy.txt?

特殊預(yù)定義中括號(hào)表達(dá)式

[root@oldboyedu ~/test]# egrep "[0-9]" oldboy.txt?

my qq num is 49000448.

not 4900000448.

[root@oldboyedu ~/test]#?

[root@oldboyedu ~/test]# egrep "[[:digit:]]" oldboy.txt?

my qq num is 49000448.

not 4900000448.

[root@oldboyedu ~/test]# egrep "[[:lower:]]" oldboy.txt?

I am oldboy teacher!

I teach linux.

I like badminton ball ,billiard ball and chinese chess!

our site is http://www.oldboyedu.com

my qq num is 49000448.

not 4900000448.

my god ,i am not oldbey,but OLDBOY!

[root@oldboyedu ~/test]# egrep "[[:upper:]]" oldboy.txt?

I am oldboy teacher!

I teach linux.

I like badminton ball ,billiard ball and chinese chess!

my god ,i am not oldbey,but OLDBOY!

[root@oldboyedu ~/test]# egrep "\boldboy\b" oldboy.txt?

I am oldboy teacher!

[root@oldboyedu ~/test]# egrep "oldboy" oldboy.txt?

I am oldboy teacher!

our site is http://www.oldboyedu.com

[root@oldboyedu ~/test]# egrep -w "oldboy" oldboy.txt?

I am oldboy teacher!

Linux三劍客

awk ?sed ?grep

sed

Sed是操作、過(guò)濾和轉(zhuǎn)換文本內(nèi)容的強(qiáng)大工具是整。

常用功能有對(duì)文件實(shí)現(xiàn)快速增刪改查(增加肖揣、刪除、修改浮入、查詢(xún))龙优,

其中查詢(xún)的功能中最常用的2大功能是過(guò)濾(過(guò)濾指定字符串)和取行(取出指定行)。

sed [選項(xiàng)] ?[sed內(nèi)置命令字符] ?[文件]

選項(xiàng):

-n 取消默認(rèn)sed的輸出舵盈,常與sed內(nèi)置命令的p連用※

-i 直接修改文件內(nèi)容,而不是輸出到終端球化。

如果不使用-i選項(xiàng)sed只是修改在內(nèi)存中的數(shù)據(jù)秽晚,并不會(huì)影響磁盤(pán)上的文件※

sed的內(nèi)置命令字符說(shuō)明

s 替換

g 全局global

p 打印print

d 刪除delete

I am oldboy teacher!

I like badminton ball ,billiard ball and chinese chess!

our site is http://www.oldboyedu.com

my qq num is 49000448.

[root@oldboyedu ~/test]# cat oldgirl.txt

I am oldboy teacher!

I like badminton ball ,billiard ball and chinese chess!

our site is http://www.oldboyedu.com

my qq num is 49000448.

課堂練習(xí)題:

問(wèn)題1:輸出oldboy.txt的第2-3行內(nèi)容※。

sed -n '2,3p' oldgirl.txt?

問(wèn)題2:過(guò)濾出含有oldboy字符串的行※筒愚。

sed -n '/oldboy/p' oldgirl.txt?

問(wèn)題3:刪除含有oldboy字符串的行※赴蝇。

sed '/oldboy/d' oldgirl.txt

sed /oldboy/d oldgirl.txt

問(wèn)題4:將文件中的oldboy字符串全部替換為oldgirl※。

vim替換:

:%s#oldboy#oldgirl#g

sed 's#想替換啥#用啥替換#g' oldgirl.txt

sed 's#oldboy#oldgirl#g' oldgirl.txt?

修改文件:

sed -i 's#oldboy#oldgirl#g' oldgirl.txt?

問(wèn)題5:將文件中的oldboy字符串全部替換為oldgirl巢掺,同時(shí)將QQ號(hào)碼49000448改為31333741句伶。

sed -e 's#oldboy#oldgirl#g' -e 's#49000448#31333741#g' oldgirl.txt I?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市陆淀,隨后出現(xiàn)的幾起案子考余,更是在濱河造成了極大的恐慌,老刑警劉巖轧苫,帶你破解...
    沈念sama閱讀 216,919評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件楚堤,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡含懊,警方通過(guò)查閱死者的電腦和手機(jī)身冬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)岔乔,“玉大人酥筝,你說(shuō)我怎么就攤上這事〕牛” “怎么了嘿歌?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,316評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)茁影。 經(jīng)常有香客問(wèn)我搅幅,道長(zhǎng),這世上最難降的妖魔是什么呼胚? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,294評(píng)論 1 292
  • 正文 為了忘掉前任茄唐,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘沪编。我一直安慰自己呼盆,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,318評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布蚁廓。 她就那樣靜靜地躺著访圃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪相嵌。 梳的紋絲不亂的頭發(fā)上腿时,一...
    開(kāi)封第一講書(shū)人閱讀 51,245評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音饭宾,去河邊找鬼批糟。 笑死,一個(gè)胖子當(dāng)著我的面吹牛看铆,可吹牛的內(nèi)容都是我干的徽鼎。 我是一名探鬼主播,決...
    沈念sama閱讀 40,120評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼弹惦,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼否淤!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起棠隐,我...
    開(kāi)封第一講書(shū)人閱讀 38,964評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤石抡,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后助泽,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體汁雷,經(jīng)...
    沈念sama閱讀 45,376評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,592評(píng)論 2 333
  • 正文 我和宋清朗相戀三年报咳,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了侠讯。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,764評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡暑刃,死狀恐怖厢漩,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情岩臣,我是刑警寧澤溜嗜,帶...
    沈念sama閱讀 35,460評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站架谎,受9級(jí)特大地震影響炸宵,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜谷扣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,070評(píng)論 3 327
  • 文/蒙蒙 一土全、第九天 我趴在偏房一處隱蔽的房頂上張望捎琐。 院中可真熱鬧,春花似錦裹匙、人聲如沸瑞凑。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,697評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)籽御。三九已至,卻和暖如春惰匙,著一層夾襖步出監(jiān)牢的瞬間技掏,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,846評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工项鬼, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留哑梳,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,819評(píng)論 2 370
  • 正文 我出身青樓秃臣,卻偏偏與公主長(zhǎng)得像涧衙,于是被迫代替她去往敵國(guó)和親哪工。 傳聞我的和親對(duì)象是個(gè)殘疾皇子奥此,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,665評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容