awk 想要熟练掌握还需要多练习,简单的处理了两个小问题,以后再次补充。
格式化 nginx 日志输出
BEGIN {
FIELDWIDTHS = 100
printf "%-5s %30-s %18-s %3-s %30-s %30-s \n", "行号", "服务器域名", "服务器 IP", "请求接口", "请求状态", "执行时长"
}
{
if (NR < 5) {
len = split($9, strs, "?")
printf "%-5s %20-s %18-s %3-s %30-s %30-s \n", NR, $1, $3, $8, strs[1], $11
} else {
exit
}
}
END {
}
行号 服务器域名 服务器 IP 请求接口 请求状态 执行时长
1 hmsspa.huimin100.cn 118.190.112.72 "GET / "51"
2 hmsspa.huimin100.cn 118.190.140.208 "GET /cart/set "148"
3 hmsspa.huimin100.cn 118.190.140.208 "GET /shopcar/cates "49"
4 hmsspa.huimin100.cn 118.190.118.56 "GET /shopcar/list "1766"
去重
BEGIN{
}
{
++ids[$1];
}
END{
for ( key in ids ) {
print(key) > "/tmp/test/uniq.txt"
}
}
更多学习 awk 的链接:
https://www.twle.cn/c/yufei/a...
https://book.saubcy.com/AwkIn...
https://www.junmajinlong.com/...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。