13

我有一个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

4

3 回答 3

5

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

$content=`cat file.txt`; sed "s/%d/${content}/g file1.txt"
于 2013-06-10T07:34:48.343 回答
2

给出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
于 2020-06-20T16:26:02.953 回答
1

sed您可以使用该r命令读取文件。但是,这是基于行的操作,可能不是您所追求的。

sed '/%d/r file1.txt'

读取发生在“每行”周期结束时。

于 2013-06-10T18:46:47.287 回答