3

私が持っているとしましょう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

これは、見つかった後の行にfileBを追加するだけで終わりREPLACEHERE、それは良くありません。i正確に交換する必要があります(実際にはそれが旗の目的だと思いました)。

4

1 に答える 1

2

たぶんそれだけではそれほど簡単ではないでしょうsed、私はシェル変数/コマンド拡張を使用します:

sed -i "s/REPLACEHERE/$(cat fileB)/g" fileA

-ifileA変更がに印刷されるのではなく、に保存されることを意味しstdoutます。

ちなみに、のスラッシュに注意してfileBください。ある場合は、エスケープする必要があります。

于 2013-01-27T11:42:16.203 に答える