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.
diff
y las patch
herramientas 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.
sed
implementación está utilizando. Tu código funciona para mí con GNUsed
.