あるファイルの文字列を別のファイルの内容全体に置き換える sed コマンド

あるファイルの文字列を別のファイルの内容全体に置き換える sed コマンド

あるファイルの文字列を別のファイルの内容全体に置き換えるsed(またはawk)コマンドを作成したいと思います。コンテンツをインポートする2番目のファイルには1行以上があります。私はこれを試しました:

sed -e "s/PLACEHOLDER/$(sed 's:/:\\/:g' TestOutput.txt)/" SQLInput.txt

ところでエラーが出る。sed: -e expression #1, char 22: unterminated 's' command

ベストアンサー1

努力する

sed -i '/PLACEHOLDER/ r TestOutput.txt' SQLInput.txt

どこ

  • -i所定の位置で編集
  • /PLACEHOLDER/検索モード
  • r TestOutput.txtファイルを読む

/PLACEHOLDER/削除されないので注意してください。

削除

sed -i -e '/PLACEHOLDER/ r TestOutput.txt' -e s/PLACEHOLDER// SQLInput.txt

どこ

  • -e /PLACEHOLDER/dPLACEHOLDER を使用して行全体を削除します。
  • -e s/PLACEHOLDER//PLACEHOLDER 文字列が削除されます。

おすすめ記事