Zeile verschieben, die mit einem Muster von einer Datei in eine andere passen
Ich möchte Linien, die mit einem bestimmten Muster übereinstimmen, von @ verschiebe file1 zu file2. Analog zur Bedienungausschneiden und von einer Datei in eine andere einfügen in Windows
Beispie
Nehmen wir an, ich möchte alle Zeilen ausschneiden, die @ enthaltebar
von file1 und in neu erstelltes @ einfüg file2
Eingang
file1
bla foo bla
bla bar bla
bla aaa bla
bla bar bla
bla foo bla
Gewünschte Ausgabe nach der Verarbeitung:
file1
bla foo bla
bla aaa bla
bla foo bla
file2
bla bar bla
bla bar bla
Was ich versucht habe
grep
erstellt gewünschtes file2 aber ändert @ nic file1
grep 'bar' file1 > file2
sed -i
modifiziert gewünschtes file1 erstellt aber kein file2
sed -i '/bar/d' file1
Wenn ich beide Befehle nacheinander ausführe, erhalte ich das gewünschte Ergebnis. Aber hier suche ich einsingle line command aus Neugier und um ein Drehbuch prägnanter zu gestalten.
Ihre Hilfe wäre dankbar.