The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Удаление подстроки последнего совпадения, !*! vfp7, 02-Окт-12, 12:10  [смотреть все]
Добрый день

Не получается в одну строку вырезать из логов роутера порт компьютера:
на входе лог типа:
...
Oct  2 11:59:03 isa8 isa8: Local User (MAC=02-57-6C-72-2E-EE): 192.168.3.14:50561 -> 83.252.252.11:80 (TCP)Web
...

На этот лог я натравливаю скрипт:
cat /var/log/isa8.log | grep '(TCP)Web' | cut -f-4,10,12 -d' ' | cut -f-4 -d':'

Получаю на выходе:
Oct  2 11:59:03 192.168.3.14:50561 83.252.252.11

Осталось удалить подстроку порта :50561, и хоть лопни, одной строкой не получается привести к виду:
Oct  2 11:59:03 192.168.71.14 83.252.252.11

Бился с sed, ( примерно sed 's/\(.*\):[0-9]//' ), не получается, не хватает знаний ...
FreeBSD 9.0 sh

  • Удаление подстроки последнего совпадения, !*! allez, 15:03 , 02-Окт-12 (1)
    >[оверквотинг удален]
    > cat /var/log/isa8.log | grep '(TCP)Web' | cut -f-4,10,12 -d' ' | cut
    > -f-4 -d':'
    > Получаю на выходе:
    > Oct  2 11:59:03 192.168.3.14:50561 83.252.252.11
    > Осталось удалить подстроку порта :50561, и хоть лопни, одной строкой не получается
    > привести к виду:
    > Oct  2 11:59:03 192.168.71.14 83.252.252.11
    > Бился с sed, ( примерно sed 's/\(.*\):[0-9]//' ), не получается, не хватает
    > знаний ...
    > FreeBSD 9.0 sh

    Попробуйте так:


    $ echo 'Oct  2 11:59:03 192.168.3.14:50561 83.252.252.11' | sed -r 's/:[0-9]{4,5} / /'
    Oct  2 11:59:03 192.168.3.14 83.252.252.11

    Правда, есть два момента. Во-первых, FreeBSD у меня сейчас под рукой нет, эта команда
    была мной опробована в OpenBSD. А во-вторых, я слегка схалявил и заставил sed заменять
    в строке двоеточие, за которым следует от 4 до 5 цифр и пробел, на одиночный пробел.
    Если в логе вдруг попадется строка в которой будет фигурировать номер порта из трех и
    менее знаков, то мой фильтр не сработает. Усовершенствовать команду предоставляю вам. :-)
  • Удаление подстроки последнего совпадения, !*! vfp7, 15:13 , 02-Окт-12 (2)
    tnx
    Номер порта в диапазоне 1024-65535, то есть минимум 4 цифры, так что все зер гут.
    На фряхе все прошло.
    Проблема снята.

    cat /var/log/isa8.log | grep '(TCP)Web' | cut -f-4,10,12 -d' ' | cut -f-4 -d':' | sed -r 's/:[0-9]{4,5} / /'




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру