簡體   English   中英

得到的awk結果大於X

[英]Get awk result greater than X

命令:

grep "redirect=on" access_log | awk '{print $1}' | sort -n | uniq -c | sort -nr | head -3

輸出為:

34  3.247.44.149
6   5.218.131.185
3   7.173.135.94

問題:如何僅在NR大於10的情況下輸出?在這種情況下:

34  3.247.44.149

我已經嘗試過使用$ 1> 10,但是$ 1是IP而不是數字。

謝謝。

與單awk

awk -F'[[:space:]]+|?' '$8=="redirect=on"{ a[$1]++ }
     END{ for(ip in a) if(a[ip] > 10) print a[ip],ip }' access_log
  • -F'[[:space:]]+|?' -字段分隔符

  • $8=="redirect=on" -僅考慮查詢參數為"redirect=on"

  • a[$1]++ -計算相同的IP地址出現次數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM