从模板创建多个文件并替换内容 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
如标题所述,我想从模板创建多个文件并替换固定关键字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