如标题所述,我想从一个模板创建多个文件并动态替换一个固定关键字
如果我做了

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

我只是想知道这是否可以用一些单行命令来完成

最佳答案

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

关于linux - 从模板创建多个文件并实时替换内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50139840/

10-16 06:32