Я хотел бы отсортировать мой файл журнала (~ 5 ГБ) для уникальных событий подключения.Только уникальный (SRC_IP + DST_IP) - но с временными метками и другой информацией.
Пример:
1 Feb 5 14:59:00 initf="eth0" outift="eth1" srcip="192.168.0.2" dstip="10.10.10.2"...
2 Feb 5 14:59:00 initf="eth0" outift="eth1" srcip="192.168.0.1" dstip="10.10.10.2"...
3 Feb 5 14:59:00 initf="eth0" outift="eth1" srcip="192.168.0.2" dstip="10.10.10.1"...
4 Feb 5 14:59:00 initf="eth0" outift="eth1" srcip="192.168.0.2" dstip="10.10.10.2"...
5 Feb 5 14:59:00 initf="eth0" outift="eth1" srcip="192.168.0.2" dstip="10.10.10.2"...
Выходные события должны быть:
1 Feb 5 14:59:00 initf="eth0" outift="eth1" srcip="192.168.0.2" dstip="10.10.10.2"...
2 Feb 5 14:59:00 initf="eth0" outift="eth1" srcip="192.168.0.1" dstip="10.10.10.2"...
3 Feb 5 14:59:00 initf="eth0" outift="eth1" srcip="192.168.0.2" dstip="10.10.10.1"...
потому что комбинация src + dst IP уникальна.Я пробовал это с сортировкой -uk column , но это не работает, как задумано.Также столбец src + dst IP не соответствует.Иногда он переключается, потому что, в зависимости от внешнего интерфейса, отправляется dstmac или нет.
Может быть, сценарий AWK может сработать?
РЕДАКТИРОВАТЬ
Поскольку Каракфа сделал хорошее предложение, решив это с помощью awk, я сейчас пытаюсь изменить [$ 7, $ 8] на регулярное выражение
awk '!a[regexpression for src ip, regexpression for dst ip]++' file
- , поэтому не имеет значения, будет ли позицияизменений dst и src IP.@ Эд Мортон