我有兩個文件:更換或與另一個文件的較量追加文本塊文件
super.conf
someconfig=23;
second line;
#blockbegin
dynamicconfig=12
dynamicconfig2=1323
#blockend
otherconfig=12;
input.conf
newdynamicconfig=12;
anothernewline=1234;
我想運行一個腳本,並input.conf
替換#blockbegin
和#blockend
行之間的內容。
我已經有這樣的:
sed -i -ne '/^#blockbegin/ {p; r input.conf' -e ':a; n; /#blockend/ {p; b}; ba}; p' super.conf
它運作良好,但直到我更改或刪除#blockend
線super.conf
,那麼腳本#blockbegin
後替換所有行。
另外,我想腳本,如果塊不存在super.conf
追加新的塊一起super.conf
的input.conf
內容替換塊或。 它可以通過刪除+ append來完成,但是如何使用sed或其他unix命令刪除塊?
當你刪除'#blockend'時,你期望看到什麼? – perreal
沒有'#blockend'腳本的@perreal不應該改變任何東西。或者在第二種情況下添加新塊(不更改以前的內容)。 – rogal111