Intereting Posts
Можно ли использовать / bin / cat в качестве оболочки для ограниченного пользователя? 24gb удалены, но никаких изменений в доступном пространстве нет. Что могло случиться? Всплывающее окно Python virtualenvwrapper и ZSH Как скопировать / выставить многострочное выражение, которое я ввел в приглашении ZSH? Предупреждение mdoc: пустая строка ввода #xx Cinnamon 2.0.14, когда второй драйвер включен с драйверами NVIDIA (Mint 16) ~ / .inputrc файл не работает правильно Почему установка переменной перед командой legal в bash? Как управлять списком локалей, которые генерируются APT? Низкий объем от задней линии, тонкий с передней панели Новая установка Archlinux не загружается с HD на новый HP Proliant Gen8 Получение «BLInitializeLibrary failed 0xc0000017» при перезагрузке Windows 8 и Fedora 25 с двойной загрузкой Найти и отличия между -perm / 6000 и -perm / u + s Как заставить KDE запрашивать новых пользователей для пароля, когда я использую / etc / skel для настройки их среды? Определите время последнего приостановления (-to-ram)

«Sed» переписать файл для отображения целых чисел и удалить оставшиеся символы

Я собираюсь создать выход, который можно использовать для разработки среднего значения на основе 5-ти серверных пингов. Я бегу:

ping 8.8.8.8 -c 5 > ping.txt 

которые выходят

 PING 8.8.8.8 (8.8.8.8): 56 data bytes 64 bytes from 8.8.8.8: seq=0 ttl=46 time=29.331 ms 64 bytes from 8.8.8.8: seq=1 ttl=46 time=34.057 ms 64 bytes from 8.8.8.8: seq=2 ttl=46 time=33.978 ms 64 bytes from 8.8.8.8: seq=3 ttl=46 time=33.629 ms 64 bytes from 8.8.8.8: seq=4 ttl=46 time=48.414 ms --- 8.8.8.8 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max = 29.331/35.881/48.414 ms 

Затем я пытаюсь удалить текстовые данные, окружающие время в мс для каждого пинга на сервере, на данный момент у меня есть:

 sed 's/".*time=//' ping.txt > pingres.txt 

Который не совсем удаляет все требуемые данные и выводит их следующим образом:

 PING 8.8.8.8 (8.8.8.8): 56 data bytes 29.331 ms 34.057 ms 33.978 ms 33.629 ms 48.414 ms --- 8.8.8.8 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max = 29.331/35.881/48.414 ms 

Я хотел бы показать данные следующим образом, но забыл о некоторых принципах sed, чтобы достичь этого, и я довольно новичок.

 29.331 34.057 33.978 33.629 48.414 

Я понимаю, в нижней части файла уже отмечен средний знак, но мне нужен этот метод по другим причинам

Вы можете немного фильтровать grep чтобы ограничить линии, на которые вы смотрите:

 $ ping 127.0.0.1 -c 5 | grep "bytes from" | sed -n -e 's/^.*time=//' -n -e 's/[^0-9\.].*$//p' 0.020 0.040 0.054 0.036 0.049 
 grep -m5 -oP '\stime=\K\d+\.\d+(?=\s+ms$)' ping.text sed -ne '2,6s/.* time=\([^ ]*\) ms/\1/p' ping.text