sedを使用して文字列をファイルの内容に置き換える

sedを使用して文字列をファイルの内容に置き換える

2つの異なるファイルがあります。

ファイル1

/home/user1/  
/home/user2/bin  
/home/user1/a/b/c

ファイル2

<TEXT1>
<TEXT2>

<TEXT1>変えたいファイル2内容があるファイル1使用sed。このコマンドを試しましたが、正しい出力を取得できませんでした。

cat File2|sed "s/<TEXT1>/$(cat File1|sed 's/\//\\\//g'|sed 's/$/\\n/g'|tr -d "\n")/g"

他のツールを使用してこの問題を解決することもできます。

ベストアンサー1

これはsedスクリプトソリューションです(コマンドラインから1行に入力するよりも見やすくなります)。

/<TEXT1>/ {
  r File1
  d
}

実行してください:

$ sed -f script.sed File2
/home/user1/
/home/user2/bin
/home/user1/a/b/c
<TEXT2>

おすすめ記事