Получить верхнюю и нижнюю строки, где средняя строка соответствует шаблону?

Существует модуль time для iptables:

iptables ... -m time --timestart TIME --timestop TIME --days DAYS -j ACTION

Используйте -p tcp -j REJECT --reject-with tcp-rst, чтобы сделать вид, что порт закрыт (действие по умолчанию для REJECT - ICMP-пакет).

Я бы также добавил еще одно правило, разрешающее ESTABLISHED соединения, если бы хотел, чтобы открытые соединения оставались рабочими.

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

1
25.04.2018, 20:34
2 ответа

grep раствор:

grep -C1 -E '^[0-9]+\.[0-9]+[[:space:]]+[^0-9[:space:]]+' file
  • -C NUM-напечатать NUMстрок выходного контекста
  • -E-расширенное регулярное выражение
  • [^0-9[:space:]]+-соответствует любому символу, кроме пробела (s)[:space:]или цифры[0-9]

Выход:

51174.29300 2265.9392765
51174.3 "A random string"
51174.33100 2265.9392765
--
51176.54300 2266.1261205
51176.7 "A random string"
51177.42000 2266.1611095
0
27.01.2020, 23:43

Более простой ответ:

grep -C1 '"' file

, который находит строки, содержащие символ кавычек ("), и отображает их, с одной строкой до и после.

1
27.01.2020, 23:43

Теги

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