2014-09-30 33 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