Wenn die Ersatzzeichenfolge Zeilenumbrüche und Leerzeichen enthält, können Sie etwas anderes verwenden. Wir werden versuchen, die Ausgabe von ls -l
in die Mitte einer Vorlagendatei einzufügen .
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
Wenn Sie möchten, dass nach einer Zeile etwas eingefügt wird, können Sie den Befehl verschieben {print}
oder zu Folgendem wechseln:
sed '/Insert command output after this line/r'<(ls -l) text.txt
Sie können sed auch zum Einfügen vor einer Zeile mit verwenden
sed 's/Insert command output after this line/ls -l; echo "&"/e' text.txt