awk处理案例十七
【场景】
| 公司设备上要写一个自动检测的脚本,内容如下: Active PDP contexts: 246509 Available IP-addresses: 379999 Active PDP contexts: 13028 Available IP-addresses: 47780 Active PDP contexts: 21164 Available IP-addresses: 105447 Active PDP contexts: 0 Available IP-addresses: 29 Active PDP contexts: 21914 Available IP-addresses: 230419 检测的内容是:Active PDP contexts/(Active PDP contexts+Available IP-addresses) 查看比例是否大于0.8。 每组只能用一个Active PDP contexts和Available IP-addresses 比如第一组:246509/(246509+379999) 第二组为:13028/(13028+47780) 一共有多少组不确定,如果大于0.8则输出该两行 |
【代码】
awk -F":" '{getline d;split(d,a,":");p=$2/($2+a[2]);if(p>0.8) print $0"\n"d}' file
【解析】
该例很好诠释getline函数用法(没有>和|);那么getline就是取下一行。这个在我的对awk心得有详细的讲解。getline相当于取偶数行。

浙公网安备 33010602011771号