grep參數說明及常用用法
趁着午休的時間把自己經常使用的一些grep命令整理一下. 方便以后查看.
后續會逐步把awk/sed/find等常用的命令理一理. 增強下記憶.
也算是對得起自己了. __
grep常用參數說明
grep [OPTIONS] PATTERN [FILE...]
grep [OPTIONS] [-e PATTERN]... [-f FILE]... [FILE...]
OPTIONS:
-e: 使用正則搜索
-i: 不區分大小寫
-v: 查找不包含指定內容的行
-w: 按單詞搜索
-c: 統計匹配到的次數
-n: 顯示行號
-r: 逐層遍歷目錄查找
-A: 顯示匹配行及前面多少行, 如: -A3, 則表示顯示匹配行及前3行
-B: 顯示匹配行及后面多少行, 如: -B3, 則表示顯示匹配行及后3行
-C: 顯示匹配行前后多少行, 如: -C3, 則表示顯示批量行前后3行
--color: 匹配到的內容高亮顯示
--include: 指定匹配的文件類型
--exclude: 過濾不需要匹配的文件類型
grep常用用法
#多文件查詢
grep leo logs.log logs_back.log
#查找即包含leo又包含li的行
grep leo logs.log | grep li
#查找匹配leo或者匹配li的行
grep leo | li logs.log
#顯示匹配行前2行
grep leo logs.log -A2
#顯示匹配行后2行
grep leo logs.log -B2
#顯示匹配行前后2行
grep leo logs.log -C2
#不區分大小寫
grep -i leo logs.log
#使用正則表達式
grep -e '[a-z]\{5\}' logs.log
#查找不包含leo的行
grep -v leo logs.log
#統計包含leo的行數
grep -c leo logs.log
#遍歷當前目錄及所有子目錄查找匹配leo的行
grep -r leo .
#在當前目錄及所有子目錄查找所有java文件中查找leo
grep -r leo . --include "*.java"
#查找並輸出到指定文件
grep leo logs.log > result.log
#查找以leo開頭的行
grep ^leo logs.log
#查找以leo結尾的行
grep leo$ logs.log
#查找空行
grep ^$ logs.log