【現(xiàn)學(xué)現(xiàn)忘&Shell編程】— 26.基礎(chǔ)正則表達(dá)式練習(xí)(一)

(1)準(zhǔn)備工作

創(chuàng)建一個測試文檔test.txt

Seven times have I despised my soul:
                ——Kahlil Gibran

The first time when I saw her being meek that she might attain height.

The second time when I saw her limping before the crippled.

The third time when she was given to choose between the hard and the easy, and she chose the easy.

The fourth time when she committed a wrong, and comforted herself that others also commit wrong.

The fifth time when she forbore for weakness, and attributed her patience to strength.

The sixth time when she despised the ugliness of a face, and knew not that it was one of her own masks.

And the seventh time when she sang a song of praise, and deemed it a virtue.

(內(nèi)容為紀(jì)伯倫——我曾七次鄙視自己的靈魂)

還有啄栓,為了方便查看,我們可以給grep命令配置帶有顏色輸出也祠,也就是給grep命令定義一個別名昙楚。

在當(dāng)前用戶家目錄中的~/.bashrc文件中配置grep命令別名:

# 我們當(dāng)前的用戶是root用戶
# 執(zhí)行命令
[root@localhost ~]# vim /root/.bashrc 

# 添加內(nèi)容
alias grep='grep --color=auto'

# 或者
# 針對所有用戶
# echo "alias grep='grep --color=auto'" >>/etc/bashrc
# 針對單個用戶
# echo "alias grep='grep --color=auto'" >>~/.bashrc

這樣在grep命令執(zhí)行后的標(biāo)準(zhǔn)輸出中得湘,就會將文件中匹配的內(nèi)容標(biāo)識彩色还棱。

注意:如果在XShell終端修改的~/.bashrc配置文件帘睦,需要關(guān)閉當(dāng)前遠(yuǎn)程窗口翼岁,重新打開就可以實現(xiàn)了蕉毯。

(2)"*"練習(xí)

我們執(zhí)行如下命令羔沙,進(jìn)行*匹配練習(xí)

[root@localhost tmp]# grep "k*" test.txt 

結(jié)果如下:


說明:(重點)

任何字母加上*艾船,或者說任何符號加上*琅攘,都沒有任何含義昔字,這樣會匹配所有內(nèi)容爆袍,包括空白行。

因為*的作用是重復(fù)前一個字符0次或任意多次作郭。

所以在Shell中的正則中螃宙,任何符號加上*是沒有任何含義的,所有的內(nèi)容都會被匹配出來所坯。

如果你需要匹配至少包含一個k字母的行谆扎,就需要這樣寫"kk*",代表匹配至少包含有一個K的行芹助,也可以有多個k堂湖。(這行字符串一定要有一個k,但是后面有沒有k都可以状土。)

如下圖:


我們可以看到无蜂,沒有k的行,和空行都被過濾掉了蒙谓。

如果我們需要匹配至少兩個連續(xù)的ss字符斥季,需要執(zhí)行如下命令:

grep "sss*" test.txt

以此類推。

注意:

正則是包含匹配累驮,只要含有就會列出酣倾,所以單獨搜索一個k,執(zhí)行grep "k" test.txt命令谤专,也能獲得和上面一樣的匹配結(jié)果躁锡。如下圖:

換句話說,上面這兩種寫法是一個意思置侍,都是搜索含有k字母的行映之,一行中有一個k字母就可以拦焚,有無數(shù)個k字母也可以,都會被匹配出來杠输。

限位(制)符:

如果是上面描述的這種簡單匹配需求赎败,使用哪種方式都可以。

但是有限位(制)符出現(xiàn)的匹配情況蠢甲,帶*的方式僵刮,處理匹配的情況更豐富。

如下面一段文本:

Stay hungry, stay foolish.  ——Steve Jobs
求知若饑,虛心若愚峡钓〖梭希——喬布斯

Stay hungry, stay folish.  ——Steve Jobs
Stay hungry, stay fooolish.  ——Steve Jobs
Stay hungry, stay foooolish.  ——Steve Jobs
Stay hungry, stay fooooolish.  ——Steve Jobs

我們可以看到上端文本中foolish中有不同數(shù)量的o。(自己隨意錯寫的)

如果我的需求是搜索foolish單詞中有三個以上數(shù)量o的行能岩,這個時候就需要限位(制)符了寞宫,

其中foolish單詞中的fl就是限位(制)符的用法。

執(zhí)行命令如下:

[root@192 tmp]# grep "foooo*lish" test2.txt 

結(jié)果如下:

說明:其中前三個o代表固定有三個連續(xù)的o字母出現(xiàn)拉鹃,最后一個o*代表可以匹配0次到任意多次個o字母辈赋。

在這種需要有限位(制)符情況下的匹配,加上*就非常好處理了膏燕。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末钥屈,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子坝辫,更是在濱河造成了極大的恐慌篷就,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件近忙,死亡現(xiàn)場離奇詭異竭业,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)及舍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進(jìn)店門未辆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人锯玛,你說我怎么就攤上這事咐柜。” “怎么了攘残?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵拙友,是天一觀的道長。 經(jīng)常有香客問我肯腕,道長献宫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任实撒,我火速辦了婚禮姊途,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘知态。我一直安慰自己捷兰,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布负敏。 她就那樣靜靜地躺著贡茅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪其做。 梳的紋絲不亂的頭發(fā)上顶考,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天,我揣著相機(jī)與錄音妖泄,去河邊找鬼驹沿。 笑死,一個胖子當(dāng)著我的面吹牛蹈胡,可吹牛的內(nèi)容都是我干的渊季。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼罚渐,長吁一口氣:“原來是場噩夢啊……” “哼却汉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起荷并,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤合砂,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后源织,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體翩伪,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年雀鹃,在試婚紗的時候發(fā)現(xiàn)自己被綠了幻工。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡黎茎,死狀恐怖囊颅,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情傅瞻,我是刑警寧澤踢代,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站嗅骄,受9級特大地震影響胳挎,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜溺森,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一慕爬、第九天 我趴在偏房一處隱蔽的房頂上張望窑眯。 院中可真熱鬧,春花似錦医窿、人聲如沸磅甩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽卷要。三九已至,卻和暖如春独榴,著一層夾襖步出監(jiān)牢的瞬間僧叉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工棺榔, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留瓶堕,地道東北人。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓掷豺,卻偏偏與公主長得像捞烟,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子当船,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,685評論 2 360