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

标签 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),以及如何扩展它以忽略任何 文件?

最佳答案

你可以这样做:

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

关于linux - greping 服务器日志时忽略对图像等的请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36820417/

相关文章:

linux - 通过 Jenkins 远程执行脚本的最佳方法是什么

linux - 有什么办法可以只更改 linux 中的特定目录颜色?

bash - 检测空命令

unix - 64 位快速调用

excel - 如何使用腻子将多个命令传递给 VBA 中的 Shell 函数?

php - Apache 身份验证错误

bash - Docker osx挂载文件夹为空

bash - 让 bash 在启动后立即运行一个命令,然后留在这个 session 中?

c++ - getsockopt() 在非阻塞 connect()+select() 流程中返回 EINPROGRESS

java - 解压缩使用 WinZIP 创建的具有 I18N 文件名的文件?