一、显示ping的时间并获取丢包处
命令
ping 10.1.0.1 | awk '{ print $0"\t" strftime("%H:%M:%S",systime()) } '>m.txt &
#让ping命令显示时间--输出到文本--并在后台运行
注释
参数 | 注释 |
\t | 换行字符 |
$0 | 打印整行 |
{print $0 "\t"} | 逐行打印 |
strftime() | 时间函数。一般配合系统时间函数systime()使用 |
%H | 小时 |
%M | 分钟 |
%S | 秒 |
strftime("%H:%M:%S",systime()) } | 打印系统时间小时·分钟·秒 |
>输出到 | &后台运行 |
二、shell脚本ping命令丢包过滤,配合上面使用,可知道丢包时间
亲测可用
#!/bin/bash
for i in {1..22};do
grep "icmp_seq=$i" /root/ping &> /dev/null
if [ $? -ne 0 ];then
grep "icmp_seq=$(expr $i - 1)" /root/ping
grep "icmp_seq=$(expr $i + 1)" /root/ping
fi
done
注:把22改成你要过滤文件的行数,脚本中所有的/root/ping改为要过滤的文件路径
还有不明白加我讨论qq:2575815569(只聊技术)