1. 程式人生 > >shell grep 命令大全

shell grep 命令大全

.sh 正則表達 -c 單個 文件 強制 extend round xtend

grep: 用於模糊查找,在標準輸入或者文件中

  格式: grep [選項參數]... PATTERN |FILE ...

選項參數說明:

-E, --extended-regexp PATTERN 是一個可擴展的正則表達式
-e, --regexp=PATTERN 用 PATTERN 來進行匹配操作
-f, --file=FILE 從 FILE 中取得 PATTERN
-i, --ignore-case 忽略大小寫
-w, --word-regexp    強制 PATTERN 僅完全匹配字詞
-x, --line-regexp     強制 PATTERN 僅完全匹配一行
-z, --null-data      一個 0 字節的數據行,但不是空行
-c, --count        只輸出匹配行的計數


-h, --no-filename     查詢多文件時不顯示文件名
-H, --with-filename   顯示文件名
-n, --line-number 匹配的行號
-o, --only-matching 只顯示匹配的內容
-l, --files-with-matches 只輸出包含匹配字符的文件名
-L, --files-without-match 只輸出不匹配的文件名
-s, --no-messages 不顯示不存在或者匹配錯誤的信息
-v, --invert-match 顯示不包含匹配文本的行

"\<" 和 "\>" 分別標註單詞的開始與結尾。
‘^‘:指匹配的字符串在行首
‘$‘:指匹配的字符串在行尾

grep  "\<kim" kimbo_test.sh #匹配 kim,kimbo,kimko 等開頭的字符串
grep  "kim\>" kimbo_test.sh # kim,mathkim,kobekim 等結尾的字符串

grep "^kim" kimbo_test.sh  #行首以kim開頭
grep "kim$" kimbo_test.sh  #行尾以kim開頭

正則表達式

1.匹配單個字符

grep "\<1[0-9]" kimbo_test.sh #匹配以1開頭的數字,後面一個字符依然是數字

2.匹配重復字符

grep "mf\{3\}" kimbo_test.sh #匹配以m開頭,後面是三個f 的內容

3.匹配8位數字日期(YYYYMMDD)

grep ‘^[12]\{1\}[0-9]\{7\}$‘ kimbo_test.sh #強匹配 1或者2開頭的日期,如19901001,20171001 等

shell grep 命令大全