Я пытаюсь извлечь время пинга в более удобном для данных формате. Моя цель - превратить что-то вроде этого:
64 bytes from arn06s02-in-f0.1e100.net (173.194.32.32): icmp_seq=59 ttl=54 time=31.8 ms
во что-то вроде:
1361999357 31.8
Где первое число происходит от $(date +%s), а второе число — это 8-й столбец из команды ping.
Я хотел бы иметь возможность запускать это в течение длительного времени и получать длинный список из двух столбцов с отметками времени и временем пинга.
Временная метка У меня есть временная метка, работающая со следующим:
ping google.com | while read line; do echo "$(date +%s) $line"; done
Но когда я пытаюсь добавить sed, awk или cut в конвейер, чтобы получить только время, я не получаю вывода!
Я не очень хорошо знаком с sed или awk, хотя я уверен, что они должны быть правильными инструментами для работы. Мои попытки не привели к результату. Я думаю, это потому, что awk ожидает EOF перед передачей вывода следующей программе с конвейером?
Спасибо!
> f
. Ты знаешь почему? 28.02.2013