grep命令的使用和說明

***grep基本用法
   grep [選項] [模式] [文件..]

選項
 -c 只輸出匹配行的數量
 -i 搜索時忽略大小寫
 -h 查詢多文件時不顯示文件名
 -l 只搜索匹配的文件名,而不列出具體的匹配行
 -n 列出所有的匹配行,並顯示行號
 -s 不顯示不存在或無匹配文本的錯誤信息
 -v 顯示不包含匹配文本的所有行
 -w 匹配整詞
 -x 匹配整行
 -r 遞歸搜索,不僅所屬當前工作目錄,而且搜索子目錄
 -q 禁止儲存任何結果,以推遲狀態表示所屬是否成功
 -b 打印匹配行距文件的頭部的偏移量,以字節爲單位
 -o 與-b選項結合使用,打印匹配的詞距文件頭部的偏移量,以字節爲    單位
 -E 支持擴展正則表達式
 -F 不支持正則表達式,安裝字符串的字面意思進行匹配
模式
字符串
變量
正則表達式


1.grep搜索含有空格的文件或字符需要使用引號括起來
2.grep搜索多個文件時可以使用通配符


grep結合正則表達式

1.匹配行首
例子:
 grep ^a file  查找文本中以a爲行首的行

例子:grep -c ^$ file 查找文本中的空白行數

      grep -c ^[^$] file  查找文本中的非空白行數
 

2.設置大小寫
  grep -n [Cc] file 不區分大小寫的查找含c的行
  grep -n -i c  file 

3.匹配重複字符
  grep ^/..../ file  匹配以/開頭中間任意四個字符並以/結尾的共六個字符

  grep ^-*B  查看行首含有0個“-”或任意個“-”的並以B結尾的匹配

4.轉義符
  例子1:轉義“.”
  grep www\.example\.com  搜索含有www.example.com的行
 
  例子2:轉義“-”
  grep '\-{5\} file

5.POSIX字符
  [:upper:]   表示大寫字母[A-Z]
  [:lower:]   表示小寫字母[a-z]
  [:digit:]   表示數字[0-9]
  [:alnum:]   表示大小寫字母和數字[0-9a-z-A-Z]
  [:space:]   表示空格或Tab鍵
  [:alpha:]   表示大小寫字母[A-Z-a-z]
  [:cntrl:]   表示ctrl鍵
  [:graph:]或[:print:]  表示ASCII嗎33-126之間的字符
  [:xdigit:]  表示16進制數字[0-9A-F-a-f]

例子:
   grep ^[[:upper:]] file  查找行首字符以大寫字母開頭的行
   POSIX字符需要用[]括起來
 
6.精確匹配
  grep "\<the\> 匹配含有單詞the的行
  必須帶引號

7.或字符(擴展正則表達式字符)
  grep -E "ou|se" 匹配帶有ou或se的行

8.egrep和fgrep
  egrep "ou|se" file
  egrep "^-+b" file  匹配以一個"-"或多個“-”開頭並且後面含有b的行

fgrep ca file  只能匹配字符

   [0-9]* 。[A-Za-Z][A-Z-a-z]

   *.doc *.txt *.ppt *.docx *.pptx

grep -n -i chapter *.doc ..
grep -n [cC][hH][aA][pP][tT][eE][rR] *.doc ...


grep -r -c ^$ *
grep -c ^$ *

grep -E :$|[^[:alpha]]
 


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