Сравнение 2 строк с помощью awk

Файл /etc/resolv.conf всегда будет перезаписан при изменении или обновлении сети. Вы можете контролировать то, что пишется, редактируя файлы в папке /etc/resolvconf/resolv.conf.d/ ... а именно в файле head .

Поместите это в файл /etc/resolvconf/resolv.conf.d/head :

nameserver 172.31.0.2
search testing01.d.sample.com

Теперь это будет заголовок /etc/resolv.conf каждый раз обновляется.

Обновление

Для систем на базе Redhat выполните следующие действия:

Отредактируйте сетевой сценарий, который находится по адресу: / etc / sysconfig / network-scripts . Вы увидите запись об обнаруженных сетевых устройствах (например, ifcfg-eth0 для сетевого адаптера eth0 ).

Отредактируйте этот файл ( / etc / sysconfig / network-scripts / ifcfg-eth0 ):

Добавьте эту строку:

DOMAIN=sample.com

Также выполните эту команду:

$ sudo hostnamectl set-hostname --static "testing01.d.sample.com"

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

1
14.02.2017, 12:05
1 ответ

Вы можете просто сделать это, выполнив sort соответственно, а затем выбрав первую запись для каждой группы.

sort filename -t'|' -k1,4 -k7rn -k5,6rn | sort -t'|' -k1,4 -u

Результат:

aaaaa|bbbbb|ccccc|ddddd|5|5|4
wwwww|xxxxx|yyyyy|zzzzz|10|10|2

Это

  • -t '|' устанавливает разделитель полей на |
  • -k1,4 порядок по первым 4 полям
  • -k7rn затем седьмым полем в обратном и числовом сравнении
  • -k5,6rn , затем то же самое с пятым и шестым полями
  • | передать это другому сорту
  • -k1,4 -u -u обозначает уникальность первых 4 полей

Таким образом, вся операция подобна упорядочиванию файла так, как вы хотите, чтобы отображалась нужная вам строка сначала в группах из первых 4 полей. Затем просто возьмите первую строку для каждой группы.

2
27.01.2020, 23:34

Теги

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