создание нескольких файлов из шаблона и замена содержимого на лету - PullRequest
0 голосов
/ 02 мая 2018

Как указано в заголовке, я хотел бы создать несколько файлов из шаблона и заменить фиксированное ключевое слово на лету

если я сделаю

$ sed s/XX/{01..05}/g templates/pXX.conf

Я получаю довольно близко, так как я получаю правильный вывод для первого результата, но ошибка для чисел 02-04.

поскольку в icinga нет необходимости разделять каждый файл конфигурации (но это было бы бонусом), можно получить результат в одном выходном файле.

Пример:

//template.conf
object Host "pXX" {
  display_name = "RasPi XX"
  ...
}

теперь это должно привести к:

//p01.conf <- ascending filenames would be a bonus
object Host "p01" {
  display_name = "RasPi 01"
  ...
}
//p02.conf
object Host "p02" {
  display_name = "RasPi 02"
  ...
}
// and so on

Я уверен, что это легко сделать, используя любой сценарий с циклом внутри

while $i < number: read file; replace content; output file;

Мне просто любопытно, можно ли это сделать с помощью однострочных команд

1 Ответ

0 голосов
/ 02 мая 2018
for i in 01 02 03; do sed "s/XX/$i/" template.conf > template$i.conf; done
...