繁体   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