2014-09-30 37 views
-1

我在写一个bash脚本。这个bash脚本的输出是一个从模板文件创建的配置文件。我想使用sed命令,我可以指定###member###作为匹配模式,并使用AA作为替换。但是当我用新的替换BB创建一个新的配置文件时,旧的字符串AA被覆盖。我不想覆盖旧字符串AA;我只需要在AA后面添加BBBash - sed命令。如何不覆盖旧的字符串?

例:

members  ###members### 

members  aa, bb, cc, ... 

我不知道如果我能实现与sed命令此任务。

+5

您的实际输入和预期输出是什么? – 2014-09-30 07:43:19

+1

你有没有经过这个? http://stackoverflow.com/questions/5171901/sed-command-find-and-replace-in-file-and-overwrite-file-doesnt-work-it-empties – iqstatic 2014-09-30 07:53:48

+0

你已经尝试过什么? – NeronLeVelu 2014-09-30 08:44:52

回答

0

这可能为你工作(GNU SED):

sed '/###members###/{:a;N;/aa/s//&BB/;Ta}' file 

查找包含###members###再行追加以下行,直到这些行包含aa然后追加BBaa