支持一个输入参数: ip地址文件列表
所有不是ip地址的行都会忽略,所以可以这样
1.2.3.4
my comment text
每个ip会ping5次,结果以平均响应时间从小到大排序,最快的在开头.
#!/bin/bash | |
awk -F '.' ' | |
$1>0 && $1<255 && | |
$2>0 && $2<255 && | |
$3>0 && $3<255 && | |
$4>0 && $4<255 { | |
system("ping -c 5 " $0) | |
}' $1 | awk -F '[ /]' ' | |
$1 == "PING" { | |
gsub(/[()]/, "", $3) | |
ip = $3 | |
} | |
$1 == "rtt" { | |
min = $7 | |
avg = $8 | |
max = $9 | |
mdev = $10 | |
print "avg:", avg, "min:", min, "max:", max, "mdev:", mdev, "ip:", ip | |
}' | sort -hk 2 |