我有file.txt
有一些内容。我想在file1.txt
中搜索一个字符串,如果该字符串匹配,我想用file.txt
的内容替换该字符串。我怎样才能做到这一点?
我尝试过使用sed
:
sed -e 's/%d/cat file.txt/g' file1.txt
这是在file1.txt
中搜索匹配的字符串,并将其替换为字符串cat file.txt
,但我希望改为file.txt
的内容。
答案 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'
读取发生在“每行”循环的末尾。