Frage: Kann ich mehrere sed-Befehle kombinieren? Kann ich zwei sed-Befehle kombinieren und als einzelnen sed-Befehl ausführen?
Antwort: In unseren vorherigen Artikeln haben wir sed mit einzelnen Befehlen gelernt – Drucken, Löschen, Ersetzen und Dateischreiben.
Lassen Sie uns in diesem Artikel überprüfen, wie Sie mehrere sed-Befehle mit der Option -e kombinieren, wie unten gezeigt.
Syntax: #sed -e 'command' -e 'command' filename
Hinweis: Die Option -e ist optional für sed mit einem einzigen Befehl. sed führt jeden Befehlssatz aus, während die Eingabe aus dem Musterpuffer verarbeitet wird.
Lassen Sie uns zuerst die Datei thegeekstuff.txt erstellen, die in allen unten genannten Beispielen verwendet wird.
# cat thegeekstuff.txt 1. Linux - Sysadmin, Scripting etc. 2. Databases - Oracle, mySQL etc. 3. Hardware 4. Security (Firewall, Network, Online Security etc) 5. Storage 6. Cool gadgets and websites 7. Productivity (Too many technologies to explore, not much time available) 8. Website Design 9. Software Development 10.Windows- Sysadmin, reboot etc.
1.4. und 2. Zeile aus der Eingabe löschen
Dieses Sed-Beispiel löscht die vierte und zweite Zeile aus der Datei thegeekstuff.txt. Mit der Option „-e“ können Sie eine beliebige Anzahl von Befehlen mit sed eingeben.
$ sed -e '4d' -e '2d' thegeekstuff.txt 1. Linux - Sysadmin, Scripting etc. 3. Hardware 5. Storage 6. Cool gadgets and websites 7. Productivity (Too many technologies to explore, not much time available) 8. Website Design 9. Software Development 10.Windows- Sysadmin, reboot etc.
2. Drucken Sie die Linien, die mit Muster1 übereinstimmen, und die Linien, die mit Muster2 übereinstimmen
Dieses Sed-Beispiel gibt alle Zeilen aus, die entweder dem Muster „Storage“ oder „Software“ entsprechen.
$ sed -n -e '/Software/p' -e '/Storage/p' thegeekstuff.txt 5. Storage 9. Software Development
3. Löschen Sie die erste, letzte und alle Leerzeilen aus der Eingabe
Dieses Sed-Beispiel löscht die erste Zeile, die letzte Zeile und alle leeren Zeilen aus der Eingabedatei.
$ sed -e '1d' -e '$d' -e '/^$/d' thegeekstuff.txt 2. Databases - Oracle, mySQL etc. 3. Hardware 4. Security (Firewall, Network, Online Security etc) 5. Storage 6. Cool gadgets and websites 7. Productivity (Too many technologies to explore, not much time available) 8. Website Design 9. Software Development