Tengo dos archivos diferentes:
Archivo1
/home/user1/
/home/user2/bin
/home/user1/a/b/c
File2
<TEXT1>
<TEXT2>
Quiero reemplazar el <TEXT1>de File2 con el contenido de File1 usando sed. Intenté este comando, pero no obtuve el resultado adecuado:
cat File2|sed "s/<TEXT1>/$(cat File1|sed 's/\//\\\//g'|sed 's/$/\\n/g'|tr -d "\n")/g"
Puede usar otras herramientas también para resolver este problema.
/home/user1/ n/home/user2/bin n/home/user1/a/b/cn <TEXT2>. No obteniendo nuevas líneas.
diffy las patchherramientas permiten reemplazar algunas líneas en un archivo por otras líneas con bastante facilidad.
$()en un script sed hace que mis ojos sangren. Nunca use datos externos en lugares donde algunos caracteres se interpretan con un significado especial.
sedimplementación está utilizando. Tu código funciona para mí con GNUsed.