AWK
timeouts in ping log
Source example
2015-05-07 23:19:57 64 bytes from 192.168.1.103: icmp_seq=1 ttl=64 time=4.93 ms
2015-05-07 23:20:07 timeout
2015-05-07 23:20:17 timeout
2015-05-07 23:20:28 64 bytes from 192.168.1.103: icmp_seq=1 ttl=64 time=61.2 ms
Script
#!/usr/bin/env bash
if [[ $# -lt 1 ]]; then
echo "Usage: $0 <logfile>"
exit 1
fi
awk '
/timeout/ {
if (!in_timeout) {
in_timeout = 1
count_series++
count_timeout = 0
print "=== Series " count_series " ==="
}
print
count_timeout++
last_timeout = count_timeout
next
}
{
if (in_timeout) {
print "=== Total in this series: " last_timeout
print ""
in_timeout = 0
count_timeout = 0
}
}
END {
if (in_timeout) {
print "=== Total in this series: " last_timeout
print ""
}
print "Total number of series: " count_series
}
' "$1"