向awk脚本传递参数bash
#!/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以前获得变量的值ide
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文件男女成绩的平均值code