从模板创建多个文件并替换内容 on-the-fly

creating multiple files from template and replace content on-the-fly

如标题所述,我想从模板创建多个文件并替换固定关键字on-the-fly

如果我这样做

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

我有点接近了,因为我得到了第一个结果的正确输出,但是数字 02-04 的错误。

因为在 icinga 中没有必要将每个配置文件分开(但这会是一个额外的好处),所以将结果合并到一个 output-file.

中是可以的

示例:

//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;

我很好奇这是否可以使用一些单行命令来完成

for i in 01 02 03; do sed "s/XX/$i/" template.conf > template$i.conf; done