Установка Gentoo

Если у вас есть новый список серверов в файле с именем list.txt в cwd :

sed '/^server/{x;//!r list.txt
d}' /etc/ntp.conf

или, если вы не хотите использовать файл, а скорее жестко закодируете новые имена серверов:

sed '/^server/{x;//!c\
server 1\
........\
server n-1\
server n
d}' /etc/ntp.conf

Предполагается, что существует по крайней мере одна не комментируемая строка сервера в вашем /etc/ntp.conf (также он не удалит какие-либо закомментированные строки server - вы можете изменить регулярное выражение, чтобы включить их тоже). Если вы хотите вставить эти строки, даже если в исходном файле не было записей о сервере (и в этом случае добавьте новые серверы в конец файла), вы можете сделать что-то вроде:

sed '/^server/{x;//!r list.txt
d}
${x;//!r list.txt
x}' /etc/ntp.conf

или использовать те же условия, если вы предпочитаете using c \ - я оставлю это как упражнение. Имейте в виду, что при изменении строк с помощью c \ все обратные косые черты и встроенные символы новой строки должны быть экранированы обратной косой чертой (как в моем примере).

1
26.08.2019, 04:47
0 ответов

Теги

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