- 论坛徽章:
- 0
|
因为问题比较难,一直没人回复, 所以转了下, 盼高人出手了
原帖地址:
如何将一个文件中的内容替换到另一个文件中的特定行之间
http://bbs.linuxsir.org/showthread.php?t=255132
1. 第一个问题:
譬如第一个文件test1.txt内容:
1
22
333
§ion1
la
la
la
&end
§ion2
bla
bla
&end
------------------------------
第二个文件test2.txt的内容是
haa
haa
haa
ha
ha
okha
-----------------------------
想把test2.txt文件的内容替换test1.txt文件中§ion1和紧邻的第一个&end之间, 有什么好办法呢?
如果这么用的话:
- :
- sed -i -e '/§ion1/r test2.txt' -e '/§ion1/,/&end/d' test1.txt
复制代码
就会连把§ion1那一行和&end也删掉了
不知有没其他好的比较短的写法?
另外, 一直不理解man sed中关于括弧{}的用法, 是不是可以在括弧里面加入任何sed指令, 但试了又不行......
man sed中有段话是这么写的:
- :
- Commands which accept address ranges { Begin a block of commands (end with a }).
复制代码
这里的"a block of commands "应该可以是一串指令吧? |
|