grep [參數] 關鍵字 文件
1) 參數選項:正則表達式
-n 結果顯示行號 -c 關鍵字匹配的行次數 -i 關鍵字忽略大小寫 -v 反向選擇 -e 後跟一個正則表達式 -m10 查找到10次就中止繼續查找 -A10 顯示關鍵字所在行和後10行 -B10 顯示關鍵字所在行和前10行 -C10 顯示關鍵字所在行和先後10行 --color=auto 關鍵字高亮顯示(多個參數一塊兒使用,color屬性須要放最後,注意是兩個短線)
2) grep 能夠跟正則,詳細信息code
grep -n t[ea]st info.log 查詢test或者tast ([]一個字符) grep -n [^g]oo 查詢oo但不包含goo的行 (^在[]內表示反向選擇) grep -n [^a-z]oo 查詢oo但不包含小寫字母+oo的行 ([a-z] 一個小寫字母) grep -n [0-9] 查詢包含數字的行 ([0-9] 一個數字) grep -n ^the 查詢the開頭的行 (^不在[]內表示定位到行首) grep -n ^[^a-zA-Z] 查詢不是以字母開頭的行 (^反向和定位) grep -n \.$ 查詢以.結尾的行 (\轉義 $結尾) grep -n ^$ 找出空白行 (^$ 空白行) grep -n g..d 查詢g??d的字符串的行(.表示一個) grep -n ooo* 查詢至少包含兩個oo的行(* 表示重複前邊一個字符0-n次) grep -n goo*g 查詢g開頭g結尾且中間至少包含一個o的行 grep -n g.*g 查詢g開頭g結尾且中間字符無關緊要的行 (.*表示沒有或有任意個字符) grep -n o\{2\} 查詢oo的行({2} 前邊字符重複2次,{}轉義)
1) 多條件或遞歸
grep -E '關鍵字1|關鍵字2|關鍵字3' info.log
匹配關鍵字1或關鍵字2或關鍵字3到任意一個,展現該行字符串
2) 多條件與ast
grep '關鍵字1' info.log | grep '關鍵字2' | grep '關鍵字3'
匹配到關鍵字1和關鍵字2和關鍵字3所有,展現該行test
1) 當前目錄下grep文件語法
grep 關鍵字 *
2) 當前目錄下grep文件夾以及文件夾下全部文件(遞歸)grep
grep -r 關鍵字 *
1) 在info.log 模糊查詢關鍵字(訂單號:5a8f4709db9d493b),並顯示匹配行上下10行,以及行號demo
grep -n -C10 '訂單號:5a8f4709db9d493b' info.log