在linux中使用sed命令执行cat命令

时间:2013-06-10 05:17:01

标签: linux sed cat

我有file.txt有一些内容。我想在file1.txt中搜索一个字符串,如果该字符串匹配,我想用file.txt的内容替换该字符串。我怎样才能做到这一点?

我尝试过使用sed

sed -e 's/%d/cat file.txt/g' file1.txt

这是在file1.txt中搜索匹配的字符串,并将其替换为字符串cat file.txt,但我希望改为file.txt的内容。

3 个答案:

答案 0 :(得分:4)

如何在将变量插入sed字符串之前保存变量中的文件内容?

$content=`cat file.txt`; sed "s/%d/${content}/g file1.txt"

答案 1 :(得分:1)

给出original.txt的内容:

this is some text that needs replacement

replacement.txt的内容:

no changes

我不确定您的替换标准是什么,但是可以说我想替换原始文件中所有出现的replacement字,您可以替换原始文本以及其他文件的内容,使用:

> sed -e 's/replacement/'"`cat replacement.txt`"'/g' original.txt
this is some text that needs no changes

答案 2 :(得分:0)

您可以使用sed命令读取r的文件。然而,这是一个基于行的操作,可能不是你想要的。

sed '/%d/r file1.txt'

读取发生在“每行”循环的末尾。