linux - awk - 根据错误代码查找排名靠前的 url

标签 linux awk cat

我正在创建一个脚本来预分析我网站的访问日志。到目前为止,我一直在使用 awk 来获取所需的数据。

我需要能够使用 awk 来分析排名靠前的 URL,但仅限于特定的错误代码。 (在本例中为 404)

简化后的日志结构如下:

'Request Method, URI, Error Code'

GET, /foo, 404
GET, /foo, 200
GET, /foo, 404
GET, /foo, 404
GET, /bar, 200
GET, /bar, 404
GET, /foobar, 404
GET, /foobar, 404

我想要的输出是(列出有 404 错误代码的顶级 URL):

3 /foo
2 /foobar
1 /bar

最佳答案

使用 awksort:

awk '$3==404{a[$2]++}END{for(url in a){print a[url], url}}' log.txt | sort -rn

关于linux - awk - 根据错误代码查找排名靠前的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47213752/

相关文章:

c - 用户定义的信号 1 终止我的 POSIX 程序!

linux - 如何限制复制使用的缓存,以便仍有内存可用于其他缓存?

linux - Shell 通讯参数问题

bash - 计算在线 session 的总时间 - 跟进

c - 共享内存编程中的 shm_open 和 ftruncate()

regex - 从文本文件中获取数据

linux - 在 shell 中将 .txt 转换为 .csv

linux - 如何对Linux目录中的所有文件运行脚本?

r - 在文本文件中的特定行之间粘贴文本? (右)

date - 如何使用日期格式来捕获动态文件名