ファイルから代替をロードする sed [重複]

ファイルから代替をロードする sed [重複]

sedを使用して、あるファイルのパターンを別のファイルの内容全体に置き換えようとします。

現在私は以下を使用しています:

sed "s/PATTERN/`cat replacement.txt`/g" "openfile.txt" > "output.txt"

'ただし、代替ファイルに、"または同じ文字が含まれていると/入力が削除されず、エラーが発生し始めます。

試してみました。このガイド助けようとするのに理解しにくいですね。提案されたコマンドを試すと、文字列のみがr file表示されます。

この問題を解決するための最良の方法は何ですか?

ベストアンサー1

これあなたのために働く必要があります。ファイル'におよび文字があることをすでに指定しているため、重複して終了するように投票していません/"だから、次のテストをしてみました。

私はfile1以下を持っています。

cat file1
ramesh' has " and /
in this file
and trying
"to replace'
the contents in 
/other file.

これで、file2次のようになります。

cat file2
This is file2
PATTERN 
After pattern contents go here. 

共有リンクに基づいて、次のように作成しましたscript.sed

cat script.sed
/PATTERN/ {
  r file1
  d
}

sed -f script.sed file2今私が得る出力でコマンドを実行すると、次のようになります。

This is file2
ramesh' has " and /
in this file
and trying
"to replace'
the contents in 
/other file.
After pattern contents go here. 

編集する:これはファイルの複数のパターンにも当てはまります。

おすすめ記事