linux - 从 ping 中删除摘要信息的命令行选项
问题描述
我目前正在设置一个脚本来测量我的家庭互联网连接的延迟,因为目前执行此操作的外部服务报告了一些问题。无论是直接使用 IP 地址还是使用指向同一 IP 地址的 DNS 地址,外部服务似乎都会给出不同的结果。
一个会随机(并且两者都这样做)似乎无缘无故停止连接,而另一个继续返回结果。
我目前正在编写自己的脚本来做同样的事情,看看这是否是他们的软件有问题(诚然他们认为可能是这样),或者我的连接是否很奇怪。
我在英国伦敦,下行 1Gig,上行 50mbps,因为是的,这是我所在地区最好的。
到目前为止我有
ping -D -c 55 [insert ip or dns address] >> latency-[ip or dns].log
ping -D -c 55 [insert ip or dns address] >> latency-[ip or dns].log
在我用于其他事情的 Linux(CentOS v7)VPS 上的 .sh 文件中。
但输出看起来像这样
PING [ip or dns] ([ip]) 56(84) bytes of data.
[1611310205.654229] 64 bytes from [reverse-dns] ([ip]): icmp_seq=1 ttl=52 time=18.8 ms
--- [ip or dns] ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9014ms
rtt min/avg/max/mdev = 8.268/11.192/18.883/2.943 ms
有没有办法删除摘要和第一行,因为如果有意义的话,我宁愿将其设置为仅包含结果列表。(我已经阅读了手册页,但找不到它)
解决方案
您可以使用 awk 解析日志文件并删除摘要行:
awk 'NR == 1 { next } /^$/ { exit }1' latency-[ip or dns].log
如果记录号是一个(第一行),则跳到下一行。当一行是空行时(就在结束摘要之前),退出。在所有其他情况下,打印行 (1)
推荐阅读
- algorithm - 最小的封闭正六边形
- javascript - 角垫输入
- sql-server - 确定 SQL 脚本中的字符数
- java - Cassandra 使用 LocalDate 截断毫秒
- mongodb - 如何在猫鼬中查找日期范围之间的数据
- html - 哪个是嵌套的正确 H* 标记
- c - 这个使用 Visual Studio 的简单 C 文件的奇怪行为会创建一个空列表('segmentation fault (core dumped)' - 'nullptr')
- python - 在 Python 中重新排列字段
- c# - 如何在实体框架中选择所有列和自定义列?
- java - Room DAO 无法从数据库中检索数据