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.
diff
e patch
permitem 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.
sed
implementação você está usando. Seu código funciona para mim com o GNUsed
.