Eu tenho dois arquivos diferentes:
Arquivo1
/home/user1/
/home/user2/bin
/home/user1/a/b/c
Arquivo2
<TEXT1>
<TEXT2>
Eu quero substituir o <TEXT1>do File2 com o conteúdo do File1 usando sed. Eu tentei este comando, mas não obtendo saída adequada:
cat File2|sed "s/<TEXT1>/$(cat File1|sed 's/\//\\\//g'|sed 's/$/\\n/g'|tr -d "\n")/g"
Você também pode usar outras ferramentas para resolver esse problema.
/home/user1/ n/home/user2/bin n/home/user1/a/b/cn <TEXT2>. Não recebendo novas linhas.
diffe patchpermitem substituir algumas linhas em um arquivo por outras com bastante facilidade.
$()em um script sed faz meus olhos sangrarem. Nunca use dados externos em locais onde alguns caracteres são interpretados com significado especial.
sedimplementação você está usando. Seu código funciona para mim com o GNUsed.