Удалить дедупликации в очень большом файле ()

Iptables в Linux реализована в виде ряда модулей ядра. Обычно он конфигурируется некоторым init скриптом - но вы можете добавлять и удалять правила на лету из командной строки. Так что, по сути, есть (по крайней мере) два соответствующих вопроса:

  • Загружены ли модули ядра?
  • Применяются ли какие-либо правила?
  • "Работает" ли мой скрипт/программа брандмауэра?

Старая "служба" iptables была вытеснена systemd. Я думаю, этот проект пытается сделать подобную "службу" доступной для Debian.

Чтобы посмотреть, загружены ли модули ядра:

# lsmod | grep ip_tables

Чтобы посмотреть эффективные правила:

# iptables -L

или, если вы хотите посмотреть правила NAT:

# iptables -t nat -L

В Debian есть несколько пакетов брандмауэра, которые могут настроить правила iptables для вас. (Я не пробовал ни один из них, я обычно создаю свои собственные, когда мне это нужно).

apt-cache search firewall | grep firewall | less

2
02.05.2019, 15:58
1 ответ

Это будет обрабатывать столбец «0» так же, как пустой столбец, но дает более простую идею:

awk 'A[$c2] + B[$c3] + C[$c4]==0; 
    c2{A[$c2]++; next} c3{B[$c3]++;next} c4 {C[$c4]++}
' c2=2 c3=3 c4=4 input

(установите c2, c3 и c4 фактические номера столбцов, которые вам нужны)

Чтобы расширить это для вашего случая, вы должны иметь возможность использовать:

awk 'A[$c2] + B[$c3] + C[$c4]==0;
    match($c2,"[^ ]"){A[$c2]++; next}
    match($c3,"[^ ]"){B[$c3]++;next}
    match($c4,"[^ ]"){C[$c4]++}
' FS=\\t c2=2 c3=3 c4=4 input
0
27.01.2020, 22:26

Теги

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