天天看點

linux之grep指令

文本查找的需要:grep  egrep fgrep(fastgrep)

grep:全面搜尋 global research 根據某個模式,去搜尋文本,并将符合模式的文本行顯示出來

pattern:文本字元和正則表達

grep [OPTIONS] PATTERN [FILE...]

-i:忽略大小寫

--color:以顔色來識别

-v:顯示沒有被模式比對到的行

-o:隻顯示被模式比對到的字元串

-E:使用擴充正規表達式(egrep=grep -E)

-A跟數字:顯示被比對到以及向下兩行

-B跟數字:顯示被比對到以及向上兩行

-C跟數字:顯示被比對到以及向上下兩行

grep ‘root’ /etc/passwd 

沒有正規表達式,不用“”也行

單引号表示強引用,雙引号表示弱引用,隻要不涉及變量引用,單雙引号都可以

正規表達式:REGular EXPression簡寫REGEXP

元字元:

.:比對任意單個字元

比對次數(貪婪模式)

*:比對其前面的字元任意次

   a,b,ab,aab,acb,adb,amnb

   a*b

   a.*b

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

\?:比對其前面的字元1次或0次(可有可無的)

\{m,n\}:比對其前面的字元至少m次,至多n次

    \{1,\}

    \{0,3\}

位置錨定:

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

$:錨定行尾,此字元前面的任意内容必須出現在行尾

^$:空白行

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

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

基本正規表達式 basic REGEXP  

擴充正規表達式

分組

\(\)

\(ab\)*反向引用 \1:引用第一個左括号以及與之對應的右括号所包括的所有内容

[]:比對指定範圍内的任意單個字元

[^]:比對指定不在範圍内的任意單個字元

次數比對:

*:比對其前面的字元任意次

?:任意單個字元

+:比對其前面的字元至少1次

|:or或 C|cat

本文轉自 周小玉 51CTO部落格,原文連結:http://blog.51cto.com/maguangjie/1853155,如需轉載請自行聯系原作者

繼續閱讀