Как удалить строки, где определенный шаблон отображается в определенной позиции

Разрешить установленные сеансы Мы можем разрешить установленным сеансам принимать трафик:

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

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

sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Разрешить установленные сеансы

sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT

Блокировка трафика

[ f4]

Блокировка трафика

sudo iptables -I INPUT 1 -i lo -j ACCEPT

Регистрация нежелательного трафика:

sudo iptables -I INPUT 4 -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7

Чтобы подтвердить, что изменения были успешно выполнены: 11]

iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh
LOG        all  --  anywhere             anywhere             limit: avg 5/min burst 5 LOG level debug prefix "iptables denied: "
DROP       all  --  anywhere             anywhere

Используйте iptables -L -v, чтобы получить более подробную информацию:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  lo     any     anywhere             anywhere
    0     0 ACCEPT     all  --  any    any     anywhere             anywhere            state RELATED,ESTABLISHED
    0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp dpt:ssh
    0     0 LOG        all  --  any    any     anywhere             anywhere             limit: avg 5/min burst 5 LOG level debug prefix "iptables denied: "
    0     0 DROP       all  --  any    any     anywhere             anywhere

Регистрация нежелательного трафика:

iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X

Сохранение iptables

Если вы сейчас должны перезагрузить свой компьютер, ваша конфигурация iptables исчезнет. Вместо этого введите его каждый раз при перезагрузке, однако вы можете сохранить конфигурацию и запустить ее автоматически.

Сохраните правила брандмауэра в файле

sudo sh -c "iptables-save > /etc/iptables.rules"

Скрипт /etc/network/if-pre-up.d/iptablesload будет содержать:

#!/bin/sh
iptables-restore < /etc/iptables.rules
exit 0

и /etc/network/if-post-down.d/iptablessave будет содержать:

[ f12]

Затем убедитесь, что оба сценария выполняют разрешения:

sudo chmod +x /etc/network/if-post-down.d/iptablessave
sudo chmod +x /etc/network/if-pre-up.d/iptablesload

Источник

0
задан 6 March 2018 в 16:26

6 ответов

awk может это сделать:

awk '{if(!($1=="PDB;"&&$3=="EM;")){print}}' <yourfile

Это проверяет, является ли первый столбец (по умолчанию пробелы приняты как разделитель) текущей строки PDB;, а третий столбец [ f5] и печатает строку, только если не оба истины.

Выход

$ awk '{if(!($1=="PDB;"&&$3=="EM;")){print}}' <test
PEBP1_HUMAN Homo sapiens    P30086  PDB; 1BD9; X-ray; 2.05 A; A/B=1-187.
                    PDB; 1BEH; X-ray; 1.75 A; A/B=1-187.
                    PDB; 2L7W; NMR; -; A=1-187.
                    PDB; 2QYQ; X-ray; 1.95 A; A=1-187.

PECA1_HUMAN Homo sapiens    P16284  PDB; 2KY5; NMR; -; A=686-738.
                    PDB; 5C14; X-ray; 2.80 A; A/B=28-229.
                    PDB; 5GEM; X-ray; 3.01 A; A/B=28-232.

PELO_HUMAN  Homo sapiens    Q9BRX2  PDB; 1X52; NMR; -; A=261-371.
                    PDB; 5EO3; X-ray; 2.60 A; A/B=265-385.
1
ответ дан 22 May 2018 в 12:44

awk может это сделать:

awk '{if(!($1=="PDB;"&&$3=="EM;")){print}}' <yourfile

Это проверяет, является ли первый столбец (по умолчанию пробелы приняты как разделитель) текущей строки PDB;, а третий столбец EM; и печатает строку, только если не оба истины.

Выход

$ awk '{if(!($1=="PDB;"&&$3=="EM;")){print}}' <test PEBP1_HUMAN Homo sapiens P30086 PDB; 1BD9; X-ray; 2.05 A; A/B=1-187. PDB; 1BEH; X-ray; 1.75 A; A/B=1-187. PDB; 2L7W; NMR; -; A=1-187. PDB; 2QYQ; X-ray; 1.95 A; A=1-187. PECA1_HUMAN Homo sapiens P16284 PDB; 2KY5; NMR; -; A=686-738. PDB; 5C14; X-ray; 2.80 A; A/B=28-229. PDB; 5GEM; X-ray; 3.01 A; A/B=28-232. PELO_HUMAN Homo sapiens Q9BRX2 PDB; 1X52; NMR; -; A=261-371. PDB; 5EO3; X-ray; 2.60 A; A/B=265-385.
1
ответ дан 17 July 2018 в 19:26

awk может это сделать:

awk '{if(!($1=="PDB;"&&$3=="EM;")){print}}' <yourfile

Это проверяет, является ли первый столбец (по умолчанию пробелы приняты как разделитель) текущей строки PDB;, а третий столбец EM; и печатает строку, только если не оба истины.

Выход

$ awk '{if(!($1=="PDB;"&&$3=="EM;")){print}}' <test PEBP1_HUMAN Homo sapiens P30086 PDB; 1BD9; X-ray; 2.05 A; A/B=1-187. PDB; 1BEH; X-ray; 1.75 A; A/B=1-187. PDB; 2L7W; NMR; -; A=1-187. PDB; 2QYQ; X-ray; 1.95 A; A=1-187. PECA1_HUMAN Homo sapiens P16284 PDB; 2KY5; NMR; -; A=686-738. PDB; 5C14; X-ray; 2.80 A; A/B=28-229. PDB; 5GEM; X-ray; 3.01 A; A/B=28-232. PELO_HUMAN Homo sapiens Q9BRX2 PDB; 1X52; NMR; -; A=261-371. PDB; 5EO3; X-ray; 2.60 A; A/B=265-385.
1
ответ дан 23 July 2018 в 20:10

Вы можете сделать что-то вроде этого - используя режим абзаца perl:

$ perl -F'\n' -00le 'print join "\n", grep { !/PDB; ....; EM;/ } @F' file
PEBP1_HUMAN Homo sapiens    P30086  PDB; 1BD9; X-ray; 2.05 A; A/B=1-187.
                    PDB; 1BEH; X-ray; 1.75 A; A/B=1-187.
                    PDB; 2L7W; NMR; -; A=1-187.
                    PDB; 2QYQ; X-ray; 1.95 A; A=1-187.

PECA1_HUMAN Homo sapiens    P16284  PDB; 2KY5; NMR; -; A=686-738.
                    PDB; 5C14; X-ray; 2.80 A; A/B=28-229.
                    PDB; 5GEM; X-ray; 3.01 A; A/B=28-232.

PELO_HUMAN  Homo sapiens    Q9BRX2  PDB; 1X52; NMR; -; A=261-371.
                    PDB; 5EO3; X-ray; 2.60 A; A/B=265-385.
1
ответ дан 22 May 2018 в 12:44

Вы можете сделать что-то вроде этого - используя режим абзаца perl:

$ perl -F'\n' -00le 'print join "\n", grep { !/PDB; ....; EM;/ } @F' file PEBP1_HUMAN Homo sapiens P30086 PDB; 1BD9; X-ray; 2.05 A; A/B=1-187. PDB; 1BEH; X-ray; 1.75 A; A/B=1-187. PDB; 2L7W; NMR; -; A=1-187. PDB; 2QYQ; X-ray; 1.95 A; A=1-187. PECA1_HUMAN Homo sapiens P16284 PDB; 2KY5; NMR; -; A=686-738. PDB; 5C14; X-ray; 2.80 A; A/B=28-229. PDB; 5GEM; X-ray; 3.01 A; A/B=28-232. PELO_HUMAN Homo sapiens Q9BRX2 PDB; 1X52; NMR; -; A=261-371. PDB; 5EO3; X-ray; 2.60 A; A/B=265-385.
1
ответ дан 17 July 2018 в 19:26

Вы можете сделать что-то вроде этого - используя режим абзаца perl:

$ perl -F'\n' -00le 'print join "\n", grep { !/PDB; ....; EM;/ } @F' file PEBP1_HUMAN Homo sapiens P30086 PDB; 1BD9; X-ray; 2.05 A; A/B=1-187. PDB; 1BEH; X-ray; 1.75 A; A/B=1-187. PDB; 2L7W; NMR; -; A=1-187. PDB; 2QYQ; X-ray; 1.95 A; A=1-187. PECA1_HUMAN Homo sapiens P16284 PDB; 2KY5; NMR; -; A=686-738. PDB; 5C14; X-ray; 2.80 A; A/B=28-229. PDB; 5GEM; X-ray; 3.01 A; A/B=28-232. PELO_HUMAN Homo sapiens Q9BRX2 PDB; 1X52; NMR; -; A=261-371. PDB; 5EO3; X-ray; 2.60 A; A/B=265-385.
1
ответ дан 23 July 2018 в 20:10

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

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