linux(ubuntu)文字處理工具及正則表示式
阿新 • • 發佈:2018-12-29
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
位置錨定:用於指定字元出現的位置
^:錨定行首 $:錨定行尾 ^$:空白行