1. 程式人生 > >linux(ubuntu)文字處理工具及正則表示式

linux(ubuntu)文字處理工具及正則表示式

grep egrep(文字過濾) fgrep(不支援正則)

格式 grep [選項] 模式 檔案

選項:--color 指定顏色

         -v反向匹配,顯示不能被模式匹配到的行

         -o:僅匹配被模式匹配到的字串,而非整行

         -q:靜默模式

         -i:不區分大小寫

         -E:支援擴充套件(相當於egrep)

正則表示式

分為基本正則表示式(BRE擴充套件正則表示式(ERE

元字元:類似萬用字元,不表示字元本身的意義,用於額外功能性的描述

基本正則表示式的元字元:(出現需要用引號引起來,單引號也可以解釋元字元,但不可變數替換)

.:任意單個字元

[]:指定範圍內的任意單個字元 

[0-9],[[:digit:]]:匹配數字

[a-z],[[:lower:]]:匹配小寫字母

[A-Z],[[:upper:]]:匹配大寫字母

所有的字母:[[:alpha:]]  [a-Z]

字母+數字:[[:alnum:]]  [0-Z]

空格:[[:space:]]    簡化寫法 [ ]

標點符號:[[:punct:]]

[^]: 指定範圍外的任意單個字元

次數匹配:用來指定匹配其前面的字元的次數

*:任意次

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

\?:前面字元出現0次或者1次的

\+:前面字元至少一次

\{m\}:匹配m次

\{m,n\}:至少m次,至多n次

\{m,\}:至少m次    \{,n}:至多n次

egrep:擴充套件正則表示式

  例子:egrep ‘[a-z]{1,3}[ ]{2}’  test.txt

位置錨定:用於指定字元出現的位置

       ^:錨定行首   $:錨定行尾  ^$:空白行​​​​​​​