我有一个场景,我想添加一些内容下面的特定行如下所示。
func (v version) string(){
vers := [...]string{
"4",
"5",
//"6", //this should be added
"vE",
}
上面是我的代码块,我想添加“6”,下面“5”使用sed操作。我看了很多文章和帖子,但没有得到正确的答案。
我所尝试的是
current_number = '"5",'
next_number = '"6",'
os.system("sed -i /"+current_number+"/a"+next_number+" sample.txt")
编辑1:在@steffen的回答后,我得到下面的错误,图像attached.
2条答案
按热度按时间yi0zb3m41#
它的工作原理:
但我认为你需要加上单引号。我想你的命令是:
这相当于:
下面是如何使用变量:
后者使用惯用格式,
'
用于所有文字,"
用于变量。i2loujxw2#
给定这些变量:
如果你真的想使用sed,你可以做以下事情来保留新行的缩进:
但就我个人而言,我会使用awk来简化未来的更新,维护等:
将
awk -i inplace ...
与GNU awk一起使用,就像将sed -i ...
与GNU sed一起使用一样,来更新输入文件。