我有一个标准的 apache 错误日志文件。我想看看哪些 URL 导致了 404 错误,因为我已经移动了这个网站,我想找到坏链接。有人能推荐一个 bash 代码片段,使用 awk 或其他东西来解析这个日志,向我显示常见的 404 错误吗?
我知道有针对此类事情的高级程序。我只是在寻找一些简单的东西。
答案1
这应该可以做到:
grep ' 404 ' /var/log/apache2/access.log | cut -d ' ' -f 7 |sort |uniq -c |sort -n
答案2
awk 的答案:
awk '$9 == 404{urls[$7]++}END{for (url in urls) print urls[url] "\t" url}' access_log | sort -n
这只是为了好玩,因为它可能比 womble 解决方案慢得多