ip6table-restore failed in Debian buster/sid

Хотя вы ищете решение в awk , если ваш предполагаемый результат - удаление ваших дубликатов, а не обязательно через ] только awk , попробуйте:

  1. Во-первых, убедитесь, что исходный входной файл отсортирован, например sort unsorted_file> file
  2. Выполните команду awk, которую вы ранее нашли для выявления дубликатов в столбцы 3-6 и сохранение вывода в файл, например file_3-6_dupes , в командной строке:
$ awk 'n=x[$3,$4,$5,$6]{print n"\n"$0;} {x[$3,$4,$5,$6]=$0;}' file > file_3-6_dupes
  1. Наконец, используйте comm , чтобы удалить дубликаты, сохраняя вывод в файл, например file_3-6_uniques :
$ comm -23 file file_3-6_dupes > file_3-6_uniques

Как это работает

  • Сортированный входной файл необходим, потому что comm правильно работает только с отсортированными входными данными
  • команда awk не изменяет порядок появления обнаруженных дубликатов, она просто следует тому порядку, в котором они были в исходном файле , так что на самом деле в первую очередь нужно отсортировать только исходный файл
  • по умолчанию comm выводит три столбца: строки только в файле 1, строки только в файл 2 и общие строки
  • файл 1: файл
  • файл 2: file_3-6_dupes
  • -номер параметр указывает, какой из comm выходные столбцы для подавления,
  • so -3 означает подавление выходного столбца 3 comm , что является общим.
  • file_3-6_dupes , который содержит только дубликаты, был получен из файла , поэтому эти дубликаты являются единственными общими для файла и file_3 -6_dupes
  • , поскольку мы хотим обратного, мы просто -3 , чтобы подавить то, что является общим, а именно дубликаты
  • на второстепенной ноте, нам не нужен дополнительный ] -2 для подавления вещей, которые есть только в файле 2, в нашем случае их нет

Итак, объединив использование awk , исходного файла и comm , мы можем достичь вашей цели по устранению строк с дубликатами столбцов 3–6.

Подсказки

  • , если исходный файл был получен из Windows, окончания строк, отличных от Unix, могут помешать правильной работе comm с созданным awk file_3-6_dupes , чтобы вы могли запустить dos2unix в файле , если вы обнаружите, что comm не работает, и повторите шаги, тогда он должен работать

1
22.03.2019, 18:36
1 ответ

Похоже, вы установили параметр ControlMasterв файле конфигурации ssh (или его эквивалент для puTTY )наauto:

ControlMaster

Enables the sharing of multiple sessions over a single network connection. When set to yes, ssh(1) will listen for connections on a control socket specified using the ControlPath argument. Additional sessions can connect to this socket using the same ControlPath with ControlMaster set to no (the default). These sessions will try to reuse the master instance's network connec‐ tion rather than initiating new ones, but will fall back to con‐ necting normally if the control socket does not exist, or is not listening.

Setting this to ask will cause ssh(1) to listen for control con‐ nections, but require confirmation using ssh-askpass(1). If the ControlPath cannot be opened, ssh(1) will continue without con‐ necting to a master instance.

X11 and ssh-agent(1) forwarding is supported over these multi‐ plexed connections, however the display and agent forwarded will be the one belonging to the master connection i.e. it is not pos‐ sible to forward multiple displays or agents.

Two additional options allow for opportunistic multiplexing: try to use a master connection but fall back to creating a new one if one does not already exist. These options are: auto and autoask. The latter requires confirmation like the ask option.

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

Однако это также означает, что до тех пор, пока не завершится каждый второй сеанс, первый «главный» сеанс не может закрыть свое соединение, не разорвав при этом их. Поэтому он будет оставаться открытым до тех пор, пока не будут завершены все остальные сеансы. (Если вы каким-то образом заставите его закрыться, например. уничтожив задачу puTTY, выполняющую первое соединение, вы также заметите закрытие каждого другого сеанса.)

1
27.01.2020, 23:41

Теги

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