我正在编写一个自动构建项目的脚本。这将包括向pom文件和特定行添加项目。我不知道该怎么做。我已经阅读了关于使用" sed"的堆栈溢出的几个问题。替换线。但我不确定这是否适合我的情况,因为我仍然需要原始文本,如果有人手动更改它可以更改。我的脚本需要添加到文件或采取当时的内容,只需添加到列表中。
情景1:
module_list=("one" "two" "three")
我有一个包含此行的文件。我希望每次运行脚本时都能添加到此列表中以创建一个新模块,以便最终输出。
module_list=("one" "two" "three" "four")
其中"四"将是以$ 1运行脚本时传入的参数。
我的第三个也是最后一个例子是在特定行之后添加代码。例如,当我添加一个模块时,我必须在现有函数之后在文件中添加一个函数。
在:
function OldModule()
{
one
}
我想在功能之后添加它
function OldModule()
{
one
}
function Old$1()
{
two
}
答案 0 :(得分:1)
对于第一种情况:
sed -i '/module_list=/ s/)/ '"$1"')/' filename
如果$1
的值包含斜杠,则会中断。