在greping服务器日志时忽略对图像等的请求

时间:2016-04-24 07:27:24

标签: linux bash unix grep

我希望从一些服务器日志中提取各种指标。第一个是对页面的请求总数,而不是图像,CSS文件等。

所以我希望包含以下请求:

140.77.167.177 - - [01/Apr/2016:22:40:09 +1100] "GET /bad-credit-loans/abc/ HTTP/1.1" 200 7532 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"

但忽略了以下请求:

158.165.213.180 - - [01/Apr/2016:23:00:55 +1100] "GET /assets/img/lenders/png/insurance.png HTTP/1.1" 200 17866 "https://www.example.au/lp/tradie-loans/?utm_source=facebook&utm_medium=cpc&utm_content=mobilead&utm_campaign=abcs/" "Mozilla/5.0 (Linux; Android 5.1.1; SM-G920I Build/LMY47X; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/48.0.2564.106 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/70.0.0.22.83;]"

grep "GET " | wc -l会让我所有请求;如何忽略范围内的那些(* .png,.css,.jpg和.js),如何将其扩展为忽略任何文件?

1 个答案:

答案 0 :(得分:3)

你可以这样做:

grep -Ev '\.(png|jpg|css|js)' file.log