我希望使用sed
(我想?)将一个模式替换为文件内容。
例子
文件1(主文件)
Hello <<CODE>>
Goodbye.
文件2(内容)
Anonymous person,
I am very nice.
文件3(目标)
Hello Anonymous person,
I am very nice.
Goodbye.
现在,我正在使用这个命令:
sed "/<<CODE>>/{r file2
:a;n;ba}" file1 | \
sed "s/<<CODE>>//g" > \
file3
但是这将输出:
Hello
Anonymous person,
I am very nice.
Goodbye.
(注意在Hello
后的换行符)
- 我该如何做到没有这个换行符呢?
- (请注意,
file2
中可能包含各种字符:括号、换行符、引号等等)
- (请注意,
sed
吗?你可以使用perl
、ruby
或者python
吗? - mr rogersbash
编写的,因此任何不需要调用/创建新的(脚本)文件的内容都会受到赞赏。 - Etienne Bruinesperl
/ruby
的了解有限。 - Etienne Bruines