unix命令在日志中搜索5XX状态HTTP请求的数量

问题描述 投票:0回答:1

我需要编写一个UNIX命令来搜索日志中5XX状态HTTP请求的数量。日志格式如下例:

192.168.0.101 - - [12/Dec/2019:23:15:56 +0900] "GET /index.html HTTP/1.1" 200 - "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0" 

任何建议?

linux http unix request command
1个回答
0
投票

一个最小的解决方案是

$ grep "5\d{2}" somefile.log | wc -l

grep将仅将输出过滤到包括字符串5XX的行,然后wc -l然后计算产生的行数。

但是,字符串500可能会出现在日志文件的其他位置。为了解决这个问题,您不妨考虑在grep中使用更详细的模式,例如

$ grep "HTTP/1.1\"\ 5\d{2}" somefile.log | wc -l
© www.soinside.com 2019 - 2024. All rights reserved.