Gdy zastępujący ciąg ma znaki nowej linii i spacje, możesz użyć czegoś innego. Spróbujemy wstawić wynik ls -l
w środku pliku szablonu.
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
Jeśli chcesz wstawić coś po linii, możesz przenieść polecenie {print}
lub przejść do:
sed '/Insert command output after this line/r'<(ls -l) text.txt
Możesz także użyć sed do wstawiania przed linią
sed 's/Insert command output after this line/ls -l; echo "&"/e' text.txt