Die Ausgabe von sed an eine Datei anhängen

Die Ausgabe von sed an eine Datei anhängen

Ich habe zwei Skriptdateien, sagen wir file1und file2. Ich möchte den Inhalt von nehmen file1, das Zeichen ain Aändern file1und die Ausgabe an anhängen, file2ohne den Inhalt von zu ändern file1. Ich versuche es mit:

sed -i ‘s/a/A/g’ file1 >> file2

aber dies ändert nur adas Ain file1.

Antwort1

Entfernen Sie einfach die -iFlagge:

sed 's/a/A/g' file1 >> file2

Das -iFlag wird verwendet, um die angegebene Datei an Ort und Stelle zu bearbeiten, also tut es genau das file1. Vonman sed:

-i[SUFFIX], --in-place[=SUFFIX]

       edit files in place (makes backup if SUFFIX supplied)

file2Der Grund, warum bei Verwendung nichts angehängt wird, -iist, dass zum Anhängen an die angegebene Datei >>verwendet wird . Da jedoch aufgrund von an Ort und Stelle bearbeitet wird , wird keine Ausgabe generiert, sodass nichts angehängt wird .stdoutfile1-ifile2

verwandte Informationen