Quando a sequência de substituição tiver novas linhas e espaços, você poderá usar outra coisa. Vamos tentar inserir a saída ls -l
no meio de algum arquivo de modelo.
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
Quando você deseja inserir algo após uma linha, pode mover o comando {print}
ou alternar para:
sed '/Insert command output after this line/r'<(ls -l) text.txt
Você também pode usar sed para inserir antes de uma linha com
sed 's/Insert command output after this line/ls -l; echo "&"/e' text.txt