Cuando la cadena de reemplazo tiene líneas nuevas y espacios, puede usar algo más. Intentaremos insertar la salida ls -l
en el medio de algún archivo de plantilla.
awk 'NR==FNR {a[NR]=$0;next}
/Insert index here/ {for (i=1; i <= length(a); i++) { print a[i] }}
{print}'
<(ls -l) text.txt
Cuando desee insertar algo después de una línea, puede mover el comando {print}
o cambiar a:
sed '/Insert command output after this line/r'<(ls -l) text.txt
También puede usar sed para insertar antes de una línea con
sed 's/Insert command output after this line/ls -l; echo "&"/e' text.txt