Как удалить меню в Glade?

Возможно, следующий код является подходящей отправной точкой для вас. Это, вероятно, не оптимальное решение, но оно выполняет свою работу.

Он состоит из цикла for по всем строкам вывода команды в $ (). В каждой итерации цикла одна строка вывода сохраняется в переменной IP. Затем в цикле команда whois вызывается с $ IP - содержимым переменной IP - как аргументом.

Скобки $ () заключают две команды grep - первый ищет IP-адреса с SRC = написано перед ними, а второе берет вывод первого (через канал |) и просто берет IP-адрес. Флаг -o grep заставляет его выводить только согласованную часть строк вместо полных строк.

Регулярное выражение также не очень элегантно. Он ищет три группы, каждая из которых состоит из одной-трех цифр и точки, за которой следуют от одной до трех цифр. Чтобы прочитать сценарий, я решил использовать расширенные регулярные выражения -E. «Нормальная» команда grep потребует обратную косую черту перед каждым раундом и фигурной скобкой ...

for IP in \
 $(grep  -E "SRC=([0-9]{1,3}\.){3}[[0-9]{1,3}" -o  /var/log/syslog  | \
 grep -E "([0-9]{1,3}\.){3}[[0-9]{1,3}" -o);
    do whois $IP;
done
1
задан 8 February 2015 в 20:44

0 ответов

Другие вопросы по тегам:

Похожие вопросы: