В сущности, я пытаюсь преобразовать эту команду SED к способу Соли file.replace:Использования SaltStack для добавления к строкам в файл, если регулярное выражение найдено
sed -i '/^\s*kernel/ s/$/ elevator=noop/' /etc/grub.conf
Что она делает, является ли он находит строку в grub.conf, которая начинается с любого количества пробелов, а затем «ядро», она заменяет это всей исходной линией + lift = noop в конце.
так это:
kernel vmlinuz-2.6.32-431.29.2.el6.x86_64 [...] KEYTABLE=us rd_NO_DM rhgb quiet
становится:
kernel vmlinuz-2.6.32-431.29.2.el6.x86_64 [...] KEYTABLE=us rd_NO_DM rhgb quiet elevator=noop
Но когда я непосредственно копировать в SED ЦМД Into узором и РЕПЛ в file.replace Salt, я получаю эту линию :
s/$/ elevator=noop vmlinuz-2.6.32-431.29.2.el6.x86_64 [...] KEYTABLE=us rd_NO_DM rhgb quiet
Иногда управление весь файл на мастер соли является просто перехитрить, особенно. когда вы хотите сделать небольшое изменение в файле, таком как grub config, который также может быть автогенерирован на миньоне с обновлением ядра. Заставляя людей копировать каждую такую копию в конфигурацию соли, чтобы нормализовать ее, ее можно было бы считать унаследованной. –