Estoy tratando de insertar un contenido de archivo antes de un patrón dadousando sed para insertar el contenido del archivo
Aquí está mi código:
sed -i "" "/pattern/ {
i\\
r $scriptPath/adapters/default/permissions.xml"
}" "$manifestFile"
Se añade el camino en lugar del contenido del archivo.
¿Alguna idea?
La secuencia de comandos tiene que ser doble, de lo contrario $ scriptPath no se expandirá. ¿Podría explicar por qué N es necesario al final? – hipe
@hipe El comando r solo pone en cola la lectura para su inserción en la secuencia de salida. En realidad, no lee nada hasta el final del ciclo o cuando se lee la siguiente línea. Sin N, el archivo no se insertaría hasta después de que se imprimiera el espacio del patrón, lo que lo haría funcionar como un apéndice en lugar de un inserto. Es * muy * no intuitivo. –
Funciona bien para mí muchas gracias – ridan