向awk脚本传递参数

#!/bin/bash  -f
cat   f1.awk
function max(m1,m2){
    m1>m2?var=m1:var=m2
    return var
}
BEGIN{print max(i,j)}
命令行调用awk脚本
./f1.awk  -v i=20   -v  j=30

总结:通过-v 参数,让awk在执行BEGIN之前得到变量的值

cat test.awk
#!/bin/awk –f
{if($3 >=min && $3<=max)print $1,$3}
chmod +x test.awk
test.awk -F: min=100 max=200 /etc/passwd

总结:min max变量相当于在awk program程序中定义变量,此时直到首行输入完成以后,变量才可用
将建立连接次数的IP地址加入防火墙策略

ss -nt | awk -F "[ :]+" '/ESTAB/{num[$(NF-2)]++}END{for(ip in num){if(num[ip]>1000){system("iptables -A INPUT -s "ip" -j REJECT")}}}'

取f1文件男女成绩的平均值
awk用法_第1张图片

awk用法