bash - 将时间戳附加到 grep 输出
问题描述
我正在尝试将时间戳附加到 ping 输出(仅 pong 时间),而且我对 bash 脚本非常陌生,因此非常感谢您的解释(不仅是解决方案)
我试过了
sed "s/$/\ `date +%T`/" instead of the loop
我也知道,"ping -D"
但出于学习目的(添加时间戳),我宁愿通过 sed 或简单循环使用附加解决方案;哪个解决方案更快(内存/CPU)
ping 8.8.8.8 | grep -Po '(?<=time=)\S+' | while read -r line; do echo "$line $(date +%T)"; done
我期待着
51.7 12:18:06
解决方案
#!/bin/sh
ping 8.8.8.8 | stdbuf -oL grep -Po '(?<=time=)\S+' |
while IFS= read -r line
do
echo "$line $(date +%T)"
done
推荐阅读
- html - 仅使用 CSS 将容器 div 调整为低于内容总宽度时,图像不会调整大小
- firebase - 在 Flutter 中计算排行榜排名
- julia - 在 Flux 中手动更新层参数
- python - 在 Pandas DataFrame 中将对象转换为浮点数或字符串
- python - 将 BeautifulSoup/Python 循环导出到 CSV 或 txt 文件
- django - Django Rest 框架在斜线中包含具有所有功能的 ManyToMany 属性
- php - 如何从 WooCommerce 中的尺寸名称获取图像尺寸详细信息?
- elasticsearch - 如何使用单个 ES 为多个应用程序创建多个节点
- java - <*> 符号在 json swagger 中代表什么?
- python - 无法在 jupyter 和 pycharm 中加载 cvs 文件。如何加载文件?