![根据操作系统类型解析请求 apache 日志](https://linux22.com/image/625012/%E6%A0%B9%E6%8D%AE%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E7%B1%BB%E5%9E%8B%E8%A7%A3%E6%9E%90%E8%AF%B7%E6%B1%82%20apache%20%E6%97%A5%E5%BF%97.png)
我试图返回按操作系统类型排序的请求列表,该列表是从 Apache access_log 文件解析的(不是组合格式,因为我需要用户代理信息)。下面是我正在寻找的输出示例:
250 Windows NT 6.1; WOW64
200 X11; Linux x86_64
我找到了部分解决方案,感谢这个帖子。以下是我目前得到的信息:
awk -F'"' '/GET/ {print $6}' access_log.3 | cut -d' ' -f2 | sort | uniq -c | sort -rn
是否可以使用 cut 来获取我需要的字符串,或者是否需要其他方法?
答案1
awk -F'"' '/GET/ {print $6}' access_log.3 | awk -F "[()]" '{print $2}' | sort | uniq -c | sort -rn