Может кто-нибудь объяснить, пожалуйста, что происходит в этой команде: Структура файла журнала:
IPsrc:IPdst: порт: пакеты
@ max=`cut -f4 -d: logfile | sort -n -r | head -1`
grep "$max"$ logfile | cut -f1,3,4 -d: | sort | uniq
Я не могу понять, как первая строка используется для определения шаблона для grep.
Я использую Ubuntu, чтобы проверить это.
Любая ссылка / объяснение полезно.
virtual@virtual-VirtualBox:~$ @max='cut -f4 -d: intrulog | sort -n -r | head -1' grep "$max"$ intrulog | cut -f1,3,4 -d: | sort | uniq
virtual@virtual-VirtualBox:~$
Как видите, когда я выполняю эти команды, grep ничего не возвращает. Если я выполню команду в первой строке, я получу ожидаемый результат, но в первом случае $ max не передается grep как правильный шаблон фильтра
virtual@virtual-VirtualBox:~$ cut -f4 -d: intrulog | sort -n -r | head -1
24
virtual@virtual-VirtualBox:~$
ТОЛЬКО ДЛЯ ПОМОЩИ БУДУЩИМ ПОСЕТИТЕЛЯМ Структура intrulog(IPsrc:IPdst: порт: пакеты), сокращена до нескольких строк:
192.168.164.142:137.37.8.8:8080:5
192.168.160.37:137.37.8.5:8080:13
192.168.155.47:137.37.8.12:443:24
192.168.161.92:137.37.8.5:21:24
192.168.156.77:137.37.8.8:8080:13
192.168.164.84:137.37.8.9:8080:9
Ожидается, что команды будут возвращать IPSrc, порт и количество пакетов:
192.168.155.47:443:24
192.168.161.92:21:24