shell grep 命令大全
阿新 • • 發佈:2017-06-13
.sh 正則表達 -c 單個 文件 強制 extend round xtend
-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: 用於模糊查找,在標準輸入或者文件中
格式: 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 命令大全