我目前正在尝试编写一个bash脚本来记录atm的平均ping时间。三个不同的目标,每20秒一整天。 这是我目前有..Bash脚本记录平均ping时间,每20秒一天
#!/bin/bash
echo "SCRIPT STARTED" >> pingthing.log
date +%d.%m.%y' '%R:%S >> pingthing.log
for i in $(seq 1 4320);
do
date +%d.%m.%y' '%R:%S >> pingthing.log
#save just target IP and avg time.
ping -c 3 -q -W 2 8.8.8.8 >> pingthing.log
ping -c 3 -q -W 2 64.25.40.16 >> pingthing.log
ping -c 3 -q -W 2 96.17.199.48 >> pingthing.log
sleep 20
done
echo "SCRIPT ENDED" >> pingthing.log
date +%d.%m.%y' '%R:%S >> pingthing.log
我们我的问题...
- 如何用sed/awk的平总结刚刚保存目标和平均时间?
- 以及我如何处理100%的损失情况?
编辑:对不起,我有SED/AWK没有经验,但知道它可以使用这些工具来完成..让我试图澄清自己
这是什么是目前保存在我的日志文件。 。但这只能表明它的开始
SCRIPT STARTED
07.02.14 22:14:13
07.02.14 22:14:13
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 127.773/152.321/192.204/28.452 ms
PING 64.25.40.16 (64.25.40.16) 56(84) bytes of data.
--- 64.25.40.16 ping statistics ---
3 packets transmitted, 3 received, +2 duplicates, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 213.889/237.182/286.825/26.656 ms
PING 96.17.199.48 (96.17.199.48) 56(84) bytes of data.
--- 96.17.199.48 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 305.028/340.081/375.135/35.058 ms
现在我想只有目标和它的平均值。 ping命令的像
SCRIPT STARTED
07.02.14 22:14:13
07.02.14 22:14:13
8.8.8.8 152.321
64.25.40.16 237.182
96.17.199.48 340.081
时候我知道,我应该管的ping命令SED/AWK但我有这个,我离开它暂时没有经验。
我不想让你解决一切,我来这里讨论和学习。 对于100%的损失问题..输出是这样的
平-W 2 -Q -C 3 1.1.1.1
PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
--- 1.1.1.1 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2016ms
现在,这里是没有汇总行与成功的人平,所以我不能使用SED/AWK该模式..
你尝试过什么了吗?它如何失败?你学习了什么awk?我们不是“免费解决所有我的问题”社区。 –
如果您需要sed或awk脚本,您至少需要为该脚本提供一些样本输入和预期输出。例如,如果你想分析'ping -c 3 -q -W 2'的输出,那么你需要发布'ping -c 3 -q -W 2 '的样本输出,因为这将是样本输入您的sed或awk脚本,然后您需要发布您希望sed或awk脚本从该示例输入中生成的输出。 –
您不需要在SO上签署您的问题,我们已经可以看到您的用户名。 – Nit