假设我有fileA
,其内容为
Hello, this is some
random text REPLACEHERE and some more
random text
带有内容的和fileB
stuff that goes into
fileA, at that specific place
如何使用REPLACEHERE
的内容正确替换fileA
内的fileB
?正好在那个地方,就好像我正在做一个简单的正则表达式操作一样?
我最接近的是
sed -i '/REPLACEHERE/r fileB' fileA
只会在找到REPLACEHERE
之后在行中附加fileB,这并不好。我需要将其完全替换(我认为这实际上是i
标志)。
答案 0 :(得分:2)
仅使用sed
可能不那么容易,我会使用shell变量/命令扩展:
sed -i "s/REPLACEHERE/$(cat fileB)/g" fileA
-i
表示更改将保存到fileA
,而不是打印到stdout
。
顺便提一下fileB
中的斜线。如果有,他们将不得不逃脱。