Как выделить строки между двумя шаблонами в одном столбце?

Ротация ключей хоста поддерживается, начиная с OpenSSH 6.8 (и клиент, и сервер добавляют поддержку в этой версии).

Таким образом, процесс должен работать следующим образом:

  • Сгенерировать и добавить новые ключи с опцией HostKey newkey (после существующих) в / etc / ssh / sshd_config
  • Перезапустите sshd
  • Клиенты должны настроить UpdateHostKeys yes в своей конфигурации (глобально или для каждого хоста)
  • Подключающиеся клиенты получат все новые ключи
  • Через некоторое время (месяцы?) Вы можете удалить старые ключи из sshd_config и перезапустить sshd
  • . У клиентов (которые подключились во время переходного периода) уже будут новые ключи (старые не будут удалены, что является единственной проблемой здесь), и они не будут отображать предупреждение об атаке MitM.

Новые клиенты смогут забрать новые ключи. Эта функция не включена по умолчанию, вероятно, потому, что она довольно новая и вскоре потребовала внимания к безопасности. Но в наши дни его можно использовать.

1
18.01.2017, 23:06
2 ответа

С sed :

$ sed -n '/^PAT1/,/^PAT2/p' input
PAT1 0.8974 0.9116 
1.500 0.8986 0.9199
2.000 0.8989 0.9258
2.500 PAT1  0.9285 
3.000 0.8978 0.9272
3.500 0.8959 0.9219
PAT2  0.8936 0.9128

Скрипт sed будет печатать ( p ) строки только из входных данных, лежащих в диапазоне / ^ PAT1 / до / ^ PAT2 / включительно (вывод каждой строки по умолчанию отключен с помощью -n ).

Якоря ( ^ ) необходимы только для сопоставления строк в начале строки.

1
27.01.2020, 23:16

Измените код awk следующим образом:

awk '$1 ~ /PAT1/,$1 ~ /PAT2/' input

Таким образом, вы сопоставляете столбец 1, а не всю строку.

4
27.01.2020, 23:16

Теги

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