使用sed替换文本与内容不同的文件

时间:2018-04-28 21:27:26

标签: sed

我想使用sed将文件1中的文本1替换为文件2的内容(一行带有数字,例如100)。我的剧本是:

sed -e "/text1/r file2.txt" file1.txt > new.txt

但是,而不是

ZZZZ 100

我获得了

ZZZZ text 1

100

请问有什么不对?

1 个答案:

答案 0 :(得分:0)

http://www.grymoire.com/Unix/Sed.html#uh-37r将"在带有"

字样的行后插入一个文件

使用gnu和bash你可以这样做

cat file2.txt | xargs -I {} sed 's/text 1/{}/' file1.txt

或者像这样

sed "s/text 1/$(cat file2.txt)/" file1.txt

sed和xargs的其他shell和版本也许可以做类似的事情。