1.查找日誌文件,第12個域值等於500,並打印整行
- $0表示所有域,$12表示第12個域
awk '{if($12==500) print $0}' gate_2019-10-20.log
- 默認的域分隔符是“空格”和“製表符”,-F可以指定分割符
awk -F ':' '{if($5==789) print $0}' test.txt
2.查找文件指定內容前後幾行
- 查找info文件,內容爲“form-data”的前後30行(會輸出每個匹配項)
grep -C 30 "form-data" info_2019-11-09.log
- 查找info文件,內容爲“form-data”的前30行
grep -B 30 "form-data" info_2019-11-09.log
- 查找info文件,內容爲“form-data”的後30行
grep -A 1 "form-data" info_2019-11-09.log
- 從頭開始匹配兩個,並輸出後一行
grep -m 2 -A 1 "form-data" info_2019-11-09.log
Content-Disposition: form-data; name="orgCode"
Content-Type: text/plain;charset=UTF-8
--
Content-Disposition: form-data; name="dataType"
Content-Type: text/plain;charset=UTF-8
3.多條件查找
- 查找info文件,按照“waybill”和“773036068800450”查找
(使用管道符,在前面查找的基礎上再次查找)
grep "waybill" info_2019-11-09.log | grep "773036068800450"
- 查找info文件,按照“waybill”或者“773036068800450”查找
grep "waybill" \| "773036068800450" info_2019-11-09.log