grep及基本正則表達(dá)式

1忱屑、grep(Global search REgular expression and Print out the line)

??grep是一種強(qiáng)大的文本搜索工具,它能使用特定模式匹配(包括正則表達(dá)式)搜索文本湘换,并默認(rèn)輸出匹配行蚀苛。Unix的grep家族包括grep、egrep和fgrep糊识。

1.1绩社、grep的用法

  • grep [OPTIONS] PATTERN [FILE...]
  • grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]
 [root@localhost ~]# cat test
 root
 rootck
 chroot
 rroot
 roott
 rrot
 rrtt
 rott
 Root
 rOOT
 RooT
[root@localhost ~]# grep "root" test
 root
 rootck
 chroot
 rroot
 roott

????OPTIONS:
?????? -i:忽略字符大小寫

   [root@localhost ~]# grep -i "root" test
  root
  rootck
  chroot
  rroot
  roott
  Root
  rOOT
  RooT

?????? -o:僅顯示匹配到的字符串本身

  [root@localhost ~]# grep -o "root" test
  root
  root
  root
  root
  root

?????? -V:顯示不能被模式匹配到的行

  [root@localhost ~]# grep -v "root" test
  rrot
  rrtt
  rott
  Root
  rOOT
  RooT


            -q:靜默模式

  [root@localhost ~]# grep -q "root" test         #不顯示輸出

?????? -E:僅支持使用擴(kuò)展的正則表達(dá)式
?????? -A #:顯示匹配到的行后#行
?????? -B #:顯示匹配到的行前#行
?????? -C #:顯示匹配到的行前后各#行
?????? -F:快速搜索,等于直接使用fgrep命令
??????-R:遞歸查詢某個(gè)目錄下的所有文件

2赂苗、基本正則表達(dá)式元字符

2.1愉耙、字符匹配

  .:匹配任意單個(gè)字符
  [ ]:匹配指定范圍內(nèi)的任意單個(gè)字符
  [^ ]:匹配指定范圍外的任意單個(gè)字符

2.2、匹配次數(shù)

??用在要指定其次數(shù)的字符的后面拌滋,用于限制其前面字符出現(xiàn)的次數(shù)朴沿;默認(rèn)工作于貪婪模式;

  *:匹配其前面的字符任意次败砂;0,1赌渣,多次
  .*:匹配任意長(zhǎng)度的任意字符
  \?:匹配其前面的字符0次或1次
  \+:匹配其前面的字符1次或多次
  \{m\}:匹配其前面的字符m次
  \{m,n\}:匹配其前面的字符至少m次,至多n次吠卷;

2.3锡垄、位置錨定

  ^:行首錨定
  $:行尾錨定
  ^PATTERN$:用于PATTERN來匹配整行

  單詞:非特殊字符組成的連續(xù)字符都稱為單詞;
  \<或\b:詞首錨定
  \>或\b:詞尾錨定
  \<PATTERN\>:匹配完整單詞

2.4祭隔、分組及引用

\(\):將一個(gè)或多個(gè)字符捆綁在一起货岭,當(dāng)作一個(gè)整體進(jìn)行處理;

NOTE:分組括號(hào)中的模式匹配到的內(nèi)容會(huì)被正則表達(dá)式引擎自動(dòng)記錄于內(nèi)部的變量中疾渴,這些變量為:
    \1:模式從左側(cè)起千贯,第一個(gè)左括號(hào)以及與之匹配的右括號(hào)之間的模式所匹配到的字符
    \2:模式從左側(cè)起,第二個(gè)左括號(hào)以及與之匹配的右括號(hào)之間的模式所匹配到的字符
    ......

3搞坝、練習(xí)

3.1搔谴、找出/proc/meminfo文件中,所有在大寫或小寫s開頭的行桩撮;至少有三種實(shí)現(xiàn)方式

  • grep -i "^s" /proc/meminfo
  • grep -E "^(s|S)" /proc/meminfo
  • grep "^[sS]" /proc/meminfo

3.2敦第、顯示當(dāng)前系統(tǒng)上root、centos店量、user1用戶的相關(guān)信息

  • grep -E "^(centos|user1|root)" /etc/passwd
  • grep -E "^<(centos|user1|root)>" /etc/passwd

3.3芜果、找出/etc/rc.d/init.d/functions文件中某單詞后面跟一個(gè)小括號(hào)的行

  • grep -E "[[:alpha:]]+()" /etc/rc.d/init.d/functions

3.4、使用echo命令輸出一絕對(duì)路徑融师,使用egrep取出基名右钾;

  • echo "/etc/httpd/" | egrep -o "[^/]+/?$"

3.5、找出ifconfig命令結(jié)果中的1-255之間的數(shù)值

  • ifconfig | grep -Eo "<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-9][0-9])>"

3.6、課外作業(yè):找出ifconfig命令結(jié)果中的IP地址舀射;

3.7窘茁、添加用戶bash,testbash脆烟,basher以及nologin(其shell為/sbin/nologin)山林;而后找出/etc/passwd文件中用戶名同shell名的行。

  • egrep "^ ([^:]+>).*\1$" /etc/passwd
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末浩淘,一起剝皮案震驚了整個(gè)濱河市捌朴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌张抄,老刑警劉巖砂蔽,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異署惯,居然都是意外死亡左驾,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門极谊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來诡右,“玉大人,你說我怎么就攤上這事轻猖》牵” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵咙边,是天一觀的道長(zhǎng)猜煮。 經(jīng)常有香客問我,道長(zhǎng)败许,這世上最難降的妖魔是什么王带? 我笑而不...
    開封第一講書人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮市殷,結(jié)果婚禮上愕撰,老公的妹妹穿的比我還像新娘。我一直安慰自己醋寝,他們只是感情好搞挣,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著音羞,像睡著了一般柿究。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上黄选,一...
    開封第一講書人閱讀 51,146評(píng)論 1 297
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼办陷。 笑死貌夕,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的民镜。 我是一名探鬼主播啡专,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼制圈!你這毒婦竟也來了们童?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤鲸鹦,失蹤者是張志新(化名)和其女友劉穎慧库,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體馋嗜,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡齐板,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了葛菇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片甘磨。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖眯停,靈堂內(nèi)的尸體忽然破棺而出济舆,到底是詐尸還是另有隱情,我是刑警寧澤莺债,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布滋觉,位于F島的核電站,受9級(jí)特大地震影響九府,放射性物質(zhì)發(fā)生泄漏椎瘟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一侄旬、第九天 我趴在偏房一處隱蔽的房頂上張望肺蔚。 院中可真熱鬧,春花似錦儡羔、人聲如沸宣羊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽仇冯。三九已至,卻和暖如春族操,著一層夾襖步出監(jiān)牢的瞬間苛坚,已是汗流浹背比被。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留泼舱,地道東北人等缀。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像娇昙,于是被迫代替她去往敵國和親尺迂。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

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