linux抓丢包,awk显示ping时间,shell脚本grep抓包过滤

一、显示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(只聊技术)

 

 

你可能感兴趣的:(shell,awk)