文件格式: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 }
上面的脚本不起作用,请帮助。
答案 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
放在命令之后。