文本處理工具之grep和正則表達式

grep :是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行打印出來。

grep命令選項

  -m # 匹配#次後中止
  -v 顯示不被pattern匹配到的行
  -i 忽略字符大小寫
  -n 顯示匹配的行號
  -c 統計匹配的行數
  -o 僅顯示匹配到的字符串
  -q 靜默模式,不輸出任何信息
  -A # after, 後#行
  -B # before, 前#行
  -C # context, 先後各#行
  -e 實現多個選項間的邏輯or關係 grep –e ‘cat ’ -e ‘dog’ file
  -w 匹配整個單詞
  -E 使用ERE
  -F 至關於fgrep,不支持正則表達式
  -f file 根據模式文件處理 nginx

grep命令常見的用法

1.在文中搜索一個單詞,命令會返回包含該單詞的文本行:
  grep "root" file_name
  grep root file_name
2.多個文中查找:
  gerp "root" file_name1 file_name2 file_name3
3.使用正則表達式:
  grep -E "[1-9]+"
  egrep "[1-9]"
4.使用多個字符搜索:
  grep -e "cat" -e "guo" file_name 正則表達式

正則表達式

  由一類特殊字符及文本字符所編寫的模式, 其中有些字符(元字符)不表示字符字面意義,而表示控制或通配的功能
  程序支持:grep,sed,awk,vim, less,nginx,varnish等
分類:
  基本正則表達式
  擴展正則表達式: egrep
元字符分類:字符匹配,匹配次數,位置錨定,分組。
man幫助:man 7 regex
文本處理工具之grep和正則表達式
文本處理工具之grep和正則表達式 vim

egrep及擴展的正則表達式

egrep = grep -E
1.字符匹配:
  .任意單個字符
  []指定範圍的字符
  [^]不在指定範圍的字符
2.次數匹配:
  * 匹配前面字符任意次
  ?0次或1次
  + 1次或屢次
  {m} 匹配m次
  {m,n} 至少m次,最多n次
3.位置錨定:
  ^ 行首
  $ 行尾
  \<,\b語首
  \>,\b語尾
4.分組:
  ()
  後向引用:\1, \2,..... less

相關文章
相關標籤/搜索