Linux學習筆記——grep及正則表達式

                           grep及正則表達式

  

文本查找的需要:

grep,egrep,fgrep


grep:根據模式搜索文本,並將符合模式的文本行顯示出來。

pattern(模式):文本字符和正則表達式的元字符組合而成匹配條件


grep [options] PATTERN [FILE...]   

    -i:忽略大小寫

    --colo[u]r:加顏色

    -v:反向查找(顯示沒有被模式匹配到的行)

    -o:只顯示被模式匹配到的字符串



正則表達式:REGular EXPression, REGEXP

元字符:

.  :匹配任意單個字符

[ ]:匹配指定範圍內的任意單個字符

[^]:匹配指定範圍外的任意單個字符

   字[:space:]:空白字符

   符[:punct:]:標點符號

   集[:lower:]:小寫字母

   合[:upper:]:大寫字母

     [:alpha:]:大小寫字母

     [:digit:]:數字

     [:alnum:]:數字和大小寫字母



匹配次數(貪婪模式):

*      :匹配其前面的字符任意次

.*     :任意長度的任意字符 

?     :匹配其前面的字符1次或0次

\{m,n\}:匹配前面的字符至少m次,至多n次



位置錨定:

^ :錨定行首,此字符後面的任意內容必須出現在行首

$ :錨定行尾,此字符後面的任意內容必須出現在行尾

^$:空白行


\<或者\b:錨定詞首,其後面的任意字符必須作爲單詞首部出現

\>或者\b:錨定詞尾,其前面的任意字符必須作爲單詞尾部出現


\<root\> 以單詞爲root



分組:

\{ \}:

    如 \{ab\}*

    後向引用 

    \1:引用第一個左括號以及與之對應的右括號所包括的所有內容

    \2:

    \3: 





正則表達式:

   Basic     REGEXP:基本正則表達式

   Extended  REGEXP:擴展正則表達式



擴展正則表達式:egrep=grep -E


字符匹配:

.  :匹配任意單個字符

[ ]:匹配指定範圍內的任意單個字符

[^]:匹配指定範圍外的任意單個字符

   字[:space:]:空白字符

   符[:punct:]:標點符號

   集[:lower:]:小寫字母

   合[:upper:]:大寫字母

[:alpha:]:大小寫字母

[:digit:]:數字

[:alnum:]:數字和大小寫字母


次數匹配:

   * :匹配其前字符任意次

   ? :匹配其前字符0次或1次

   + :匹配其前字符至少一次

{m,n}:匹配前面的字符至少m次,至多n次


  

位置錨定:

^ :錨定行首,此字符後面的任意內容必須出現在行首

$ :錨定行尾,此字符後面的任意內容必須出現在行尾

^$:空白行


\<或者\b:錨定詞首,其後面的任意字符必須作爲單詞首部出現

\>或者\b:錨定詞尾,其前面的任意字符必須作爲單詞尾部出現


\<root\> 以單詞爲root



分組:

( ):分組

\1, \2, \3, ... 向後引用



或者:

|:或者


C|(c)at



fgrep:快速grep  --不支持正則表達式











 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章