我有一个file.txt
有一些内容的。我想在 中搜索一个字符串file1.txt
,如果该字符串匹配,我想将该字符串替换为file.txt
. 我怎样才能做到这一点?
我试过使用sed
:
sed -e 's/%d/cat file.txt/g' file1.txt
这是在 中搜索匹配的字符串file1.txt
并将其替换为 string cat file.txt
,但我想要的是 的内容file.txt
。
在将文件内容插入 sed 字符串之前如何将其保存在变量中?
$content=`cat file.txt`; sed "s/%d/${content}/g file1.txt"
给出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
sed
您可以使用该r
命令读取文件。但是,这是基于行的操作,可能不是您所追求的。
sed '/%d/r file1.txt'
读取发生在“每行”周期结束时。