awk 想要熟練掌握還須要多練習,簡單的處理了兩個小問題,之後再次補充。html
格式化 nginx 日誌輸出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"
去重shell
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/...服務器