當前位置:編程學習大全網 - 遊戲軟體 - grep的理論基礎包括

grep的理論基礎包括

可以使用grep命令在文本中查找指定的字符串,可以把grep理解成字符查找工具。

默認情況下,grep是區分大小寫的,使用 -i 選項搜索時忽略大小寫。

如果我們想確定zabbix用戶在passwd文件的第壹行,使用-n選項,顯示文本所在行號。

如果想知道文件中有多少行包含了指定字符串,使用-c選項可只統計符號條件的行,而不打印出來。

如果我們只想看到被匹配的關鍵字,而不是把關鍵字所在的整行都打印出來,使用-o選項,但是需要註意,-o選項會把每個匹配到的關鍵字都單獨顯示在壹行中進行輸出。

顯示關鍵字附件的信息 -A after -B before -C content

如果我們需求精確匹配,就是搜索的關鍵字作為壹個獨立的單詞存在,而不是包含在某個字符串中,使用-w選項,這時候nologin就沒有被匹配到。如果想取反,就是查找不包含指定字符串的行,使用-v選項。

如果想同時匹配多個目標,使用-e選項,他們之間是“或”的關系。

如果只是想利用grep判斷文本中是否包含某個字符串,妳只關心有沒有匹配到,而不想輸出,可以使用-q選項,開啟靜默模式。

掌握以上用法,基礎的就夠了,等學習了“正則表達式”,再回來結合壹起發揮威力。

-i:在搜索的時候忽略大小寫

-n:顯示結果所在行號

-c:統計匹配到的行數,註意,是匹配到的總行數,不是匹配到的次數

-o:只顯示符合條件的字符串,但是不整行顯示,每個符合條件的字符串單獨顯示壹行

-v:輸出不帶關鍵字的行(反向查詢,反向匹配)

-w:匹配整個單詞,如果是字符串中包含這個單詞,則不作匹配

-Ax:在輸出的時候包含結果所在行之後的指定行數,這裏指之後的x行,A:after

-Bx:在輸出的時候包含結果所在行之前的指定行數,這裏指之前的x行,B:before

-Cx:在輸出的時候包含結果所在行之前和之後的指定行數,這裏指之前和之後的x行,C:context

-e:實現多個選項的匹配,邏輯or關系

-q:靜默模式,不輸出任何信息,當我們只關心有沒有匹配到,卻不關心匹配到什麽內容時,我們可以使用此命令,然後,使用”echo $?”查看是否匹配到,0表示匹配到,1表示沒有匹配到。

-P:表示使用兼容perl的正則引擎。

-E:使用擴展正則表達式,而不是基本正則表達式,在使用”-E”選項時,相當於使用egrep。

字符類 [ ] 括號內的僅匹配其中壹個字符

如果我想要搜尋 test 或 taste 這兩個單字時,可以發現到,其實她們有***通的 't?st'

字符類的反向選擇 [^]

連續字符 [a-zA-Z0-9]

匹配行首 ^

結合[]時要註意^的位置

匹配行尾 $

我們來看 . 和 * 在正則中的含義

. 表示任意壹個字符

星號*表示重復他前面的字符0次到無窮多次

限定範圍的字符{} ,但因為 { 與 } 的符號在 shell 是有特殊意義的,因此, 我們必須要使用字符 \ 來讓他失去特殊意義才行。

使用擴展grep -E

fgrep 查詢速度比grep命令快,但是不夠靈活:它只能找固定的文本,而不是規則表達式。

在文本中找出包含#的

  • 上一篇:新結婚時代劇情分集介紹
  • 下一篇:什麽地天空填空動詞?
  • copyright 2024編程學習大全網