скрипт по телнету со свитчей получает список активных IP MAC адресов, нужно правильно составить запрос к базе данных и добавить каждый IP и его MAC в таблицу с 4-мя полями ip, mac, date, time.
Пример без генерации sql кода:
Код: Выделить всё
#!/bin/bash
full=`netcat 192.168.129.5 23 < cmd | grep Dynamic | sed -e 's/System.........\(\)/\1/i' | sed -e 's/\(\)Dynamic/\1/i'`
# Авторизируемся на свитче и отправляем на стандартный ввод файл cmd содержащий (логин,пароль,комманды)
# фильтр grep-ом, получаемые строки типа (System 192.168.129.6 00-30-4F-24-6F-0C Dynamic)
# чистим по краям слова System..Dynamic и заносим все остальное в переменную $full
ip=`echo $full | sed -e 's/\(\)[0-F][0-F]-[0-F][0-F]-[0-F][0-F]-[0-F][0-F]-[0-F][0-F]-[0-F][0-F]/\1/i'`
# собственно сама проблема, получаем ip адрес отсекая mac и заносим в переменную
# требуется в данной строке дописать или изменить какой-то кусок кода чтобы получить сразу же и
# mac в другую переменную, чтобы сгенерировать sql файл
# с запросом к базе данных типа:
# INSERT INTO `users` (
# `ip` , `mac` , `date` , `time`
# )VALUES(
# $ip, $mac, $date, $time
# )Так как особо не владею тонкостями работы со скриптами, написал как мог. Прошу обьяснить как организовать парсинг сразу и mac-а или предложите другую идею.
в теме закреплен файл на котором можно потренироваться распарсить его на sql запросы к базе, а также скриптик который выполняет парсинг только ip адресов из файла