Вкратце: я пытаюсь создать другой вывод для ping, который лучше работает для некоторых вещей, которые я пытаюсь сделать. Для этого я перенаправляю вывод ping в sed, чтобы удалить все, кроме миллисекунд. Последняя часть написана на python, и она создает вывод. Вот код:
ping google.com | sed '/^[^=]*$/d;s/^[^=]*=[^=]*=[^=]*=//;s/ ms//' | python3 -c 'while True:
l = [float(input()) for _ in range(10)]
m = sum(l) / len(l)
n = sum(abs(i - m) for i in l) / len(l)
print("{}\t{}".format(m, n))'
Я попытался запустить его в fish и bash, и он не работает (=> Я не получаю вывод). Однако отдельные части работают, ping google.com | sed '/^[^=]*$/d;s/^[^=]*=[^=]*=[^=]*=//;s/ ms//'
дает ожидаемый результат. Сценарий python выдает ожидаемый результат, если я использую cat для передачи файла в него.