0

如标题中所述,我想从模板创建多个文件并即时替换固定关键字

如果我做

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

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

4

1 回答 1

1
for i in 01 02 03; do sed "s/XX/$i/" template.conf > template$i.conf; done
于 2018-05-02T17:22:08.870 回答