Подсчет Internet Hops

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
orachimary
рядовой
Сообщения: 11
Зарегистрирован: 2014-12-10 9:50:41

Подсчет Internet Hops

Непрочитанное сообщение orachimary » 2014-12-10 9:59:32

Привет всем. Прошу вашей помощи. В программировании не очень силен. Ситуация следующая, хочу считать количество хопов в выводе traceroute. Казалось бы простая задача, но не тут то было. Написал такой скриптик:

Код: Выделить всё

#!/bin/sh -
/usr/sbin/traceroute -In $1 | grep -v traceroute | wc -l
ну и запускаем, выводит такое:
  • ./inethops.sh ya.ru
    traceroute: Warning: ya.ru has multiple addresses; using 213.180.193.3
    traceroute to ya.ru (213.180.193.3), 64 hops max, 72 byte packets
    5
т.е. вместе с подсчитаным числом хопов выводит системное сообщение
traceroute: Warning: ya.ru has multiple addresses; using 213.180.193.3
traceroute to ya.ru (213.180.193.3), 64 hops max, 72 byte packets

опция grep -v не работает.

Проверил на debian там все корректно отрабатывает.

Подскажите как модифицировать скрипт чтоб выводил только количество хопов.
Использую FreeBSD 10.1 amd64

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

lazhu
сержант
Сообщения: 176
Зарегистрирован: 2013-08-10 14:28:38
Контактная информация:

Re: Подсчет Internet Hops

Непрочитанное сообщение lazhu » 2014-12-10 14:14:08

Писать в файл:

Код: Выделить всё

traceroute address > out
Число строк может не соответствовать числу прыжков (разные маршруты), поэтому второй строкой

Код: Выделить всё

tail -n 1 out | cut -d ' ' -f 1

orachimary
рядовой
Сообщения: 11
Зарегистрирован: 2014-12-10 9:50:41

Re: Подсчет Internet Hops

Непрочитанное сообщение orachimary » 2014-12-11 7:13:32

А если необходимо для 20 хостов считать и каждые 5 минут?

Аватара пользователя
Neus
капитан
Сообщения: 1751
Зарегистрирован: 2008-09-08 21:59:56

Re: Подсчет Internet Hops

Непрочитанное сообщение Neus » 2014-12-11 10:30:56

Код: Выделить всё

traceroute address | tail -n 1 | cut -d ' ' -f 2