更改“2”限制以使用变量的正确方法是什么?我有一个IP地址文件,我只想报告计数超过最大变量的地址。
awk '{a[$0]++}END{for(i in a){if(a[i] > **2**){print i}}}' a.txt
尝试1:
max=5
awk '{a[$0]++}END{for(i in a){if(a[i] > max){print i}}}' a.txt
尝试2:
$max, max {max}
由于
问题基于以下链接:
答案 0 :(得分:2)
maxInShell=5
awk -v maxInAwk="$maxInShell" '{a[$0]++}END{for(i in a){if(a[i] > maxInAwk){print i}}}' a.txt
使用冗长的var-name来保存解释。
答案 1 :(得分:1)
awk -v max=5 '{a[$0]++}END{for(i in a){if(a[i] > max){print i}}}' a.txt
答案 2 :(得分:1)
如果您的awk
脚本是另一个创建变量max
的shell脚本的一部分,那么您可以使用awk
选项-v
脚本在awk
脚本中使用该变量{1}}。
例如:
awk -v max="$max" '{a[$0]++}END{for(i in a){if(a[i] > max){print i}}}' a.txt