首页 > 解决方案 > 如何使用“sed”自动更改配置文件?

问题描述

我正在尝试创建一个脚本,该脚本在 .groovy 配置文件中动态查找行号,然后利用“head/tail”命令将多行代码插入到 .groovy 配置文件中。我无法将行号硬编码到脚本中,因为供应商将来可能会更改行号的配置和顺序。有人对完成此任务的最佳方法有建议吗?

前任。)

1:这是第一行

2:这是第二行

问题:我需要插入:

test {
   test{
     authenticationProvider     =/random/path
   }
}

我不能硬编码 sed 中的谎言数字,因为它们将来可能会改变。如何动态使 sed 找到适当的行号并以适当的格式插入多行代码?

标签: regexawksed

解决方案


这应该做

$ line_num=2; seq 5 | sed "${line_num}r insert"

1
2
test {
   test{
     authenticationProvider     =/random/path
   }
}
3
4
5

要插入的文本放置在名为insert. 由于没有样本输入文件,我生成了 5 的序列作为输入源。


推荐阅读