awk for loop如果大于数字打印

时间:2016-11-04 13:43:48

标签: awk

文件格式:count ip cat file.txt

2  11.22.33.33
10 33.33.44.55

我想打印$ 1>的行$ MAX

MAX=10
cat $ip_file | awk '{counts[$1]++} END{ for (ip in counts) if ($(counts[ip]) > "'${MAX}'" )  print counts[ip] " " ip  }

上面的脚本不起作用,请帮助。

1 个答案:

答案 0 :(得分:0)

awk -v max=$MAX '{counts[$1]++} END {for(ip in counts) if(counts[ip]>max) print counts[ip], ip}' ip_file

使用-v max=$MAX$MAX的值设为awk。此外,无需滥用猫,只需将ip_file放在命令之后。