如何将脚本添加到文件中已存在的行中

时间:2015-03-27 19:14:41

标签: bash sed

我正在编写一个自动构建项目的脚本。这将包括向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
        }

1 个答案:

答案 0 :(得分:1)

对于第一种情况:

sed -i '/module_list=/ s/)/ '"$1"')/' filename

如果$1的值包含斜杠,则会中断。