Unterschied zwischen sed und awk

Das Hauptunterschied zwischen sed und awk ist das sed ist ein Befehlsprogramm, das mit Zeichenströmen zum Suchen, Filtern und Verarbeiten von Text arbeitet awk leistungsfähiger und robuster als sed mit ausgefeilten Programmierkonstrukten wie if / else, while, do / while etc.

Ein Betriebssystem fungiert als Schnittstelle zwischen Benutzer und Hardwaregeräten. Der Computer kann keine Aufgaben ohne Betriebssystem ausführen. Es gibt viele Betriebssysteme, darunter auch UNIX. Es ist ein stabiles Betriebssystem, das eine Umgebung mit mehreren Benutzern unterstützt. Linux ist ein weiteres beliebtes Betriebssystem, das auf UNIX basiert. Sowohl UNIX als auch Linux bieten eine leistungsstarke Befehlszeilenschnittstelle (Command Line Interface, CLI). Die Benutzer können die Befehle in die CLI eingeben, um verschiedene Aufgaben auszuführen. Es gibt eine große Anzahl von Befehlen, und sed und awk sind zwei davon. Diese Befehle helfen beim Filtern und bei der Texttransformation.

Wichtige Bereiche

1. Was ist sed
     - Definition, Beispiele
2. Was ist Ahnung?
    - Definition, Beispiele
3. Was ist der Unterschied zwischen sed und awk
     - Vergleich der wichtigsten Unterschiede

Schlüsselbegriffe

sed, awk, Betriebssystem

Was ist sed

Der Befehl sed ermöglicht das Ändern und Filtern von Textdateien.

Abbildung 1: CLI zur Bereitstellung von Befehlen in Linux und UNIX

sed '1,3 d' test1.txt

Der obige Befehl zeigt die Zeilen nach Zeile 3 an. Es werden keine 1, 2, 3 Zeilen der test1.txt angezeigt.

sed 's / abc / cab /' test1.txt

Der obige Befehl ersetzt cab anstelle von abc in der Datei test1.txt.

sed 's / one / 1 /' test1.txt

Der obige Befehl ersetzt 1 anstelle von 1 in der Datei test1.txt.

sed '1,2! d 'test1.txt

Dies zeigt nur die Zeilen 1 und 2 an.

Das sind einige Beispiele für sed. Insgesamt können Benutzer mit sed filtern und suchen.

Was ist Ahnung?

Der Befehl awk ermöglicht das Suchen von Daten in einer Datei und das Drucken von Daten auf der Konsole. Wenn eine Datei mehrere Spalten enthält, können auch Daten in bestimmten Spalten gesucht werden. Darüber hinaus unterstützt es Aufgaben wie Suchen, bedingte Ausführung, Aktualisierung und Filterung.

awk 'print' file1.txt

Der obige Befehl zeigt den gesamten Inhalt der Datei "file1.txt" an.  

Angenommen, die Datei file1.txt enthält mehrere Spalten.

awk 'print $ 1' file1.txt

Dieser Befehl druckt die erste Spalte der Datei file1.txt. Der Befehl awk berücksichtigt standardmäßig ein Leerzeichen als Trennzeichen.

awk 'print $ 1 "" $ 3 "file1.txt

Der obige Befehl druckt die erste und die dritte Spalte der Datei file1.txt mit einem Leerzeichen dazwischen.

awk 'print $ 1. $ 3 'file1.txt

Der obige Befehl gibt die Verkettung der ersten und dritten Spalte aus.

awk '/ example / print' file1.txt

Der obige Befehl druckt alle Zeilen in der Datei file1.txt, die das Wort beispiel enthält.

awk '/ [0-9] / print' file1.txt

Der obige Befehl druckt alle Zeilen in der Datei file1.txt, die Zahlen von 0 bis 9 enthalten.

awk '/ ^ [0-9] / print' file1.txt

Dadurch werden die Zeilen in file1.txt gedruckt, die mit einer Nummer beginnen.

awk '/ [0-9] $ / print' file1.txt

Dadurch werden die Zeilen in file1.txt gedruckt, die mit einer Nummer enden.

Es ist auch möglich, die Bedingungen wie folgt zu überprüfen.

awk 'if ($ 1 ~ / 123 /) print' file1.txt

Die Zeile wird gedruckt, wenn der Inhalt mit 123 beginnt.

awk 'if ($ 2 ~ / [0-9] /) print' file1.txt

Dadurch werden die Zeilen in Spalte 2 gedruckt, die mit einer Nummer beginnen.

Das sind einige Beispiele für Ahnung.

Insgesamt ist awk ein mächtiger Befehl zum Verarbeiten und Analysieren von Textdateien.

Unterschied zwischen sed und awk

Definition

Das sed ist ein Befehlszeilen-Dienstprogramm, das Text mithilfe einer einfachen, kompakten Programmiersprache analysiert und transformiert. Awk ist ein Befehlszeilen-Dienstprogramm für die Textverarbeitung, mit dem effektive Programme in Form von Anweisungen geschrieben werden können.

Funktionalität

Sowohl sed als auch awk ermöglichen die Verarbeitung von Zeichenströmen für Aufgaben wie die Texttransformation. Der awk ist stärker und robuster als sed. Es ist einer Programmiersprache ähnlich.

Komplexität

Das Sed ist einfach und begrenzt, während awk komplexer und vielseitiger ist.

Fazit

Der Unterschied zwischen sed und awk besteht darin, dass sed ein Befehlswerkzeug ist, das mit Zeichenströmen zum Suchen, Filtern und Verarbeiten von Text arbeitet, während awk leistungsfähiger und robuster ist als sed mit ausgefeilten Programmierkonstrukten wie if / else, while, do / while etc.

Referenz:

1. AWK-Befehl: Sitzung 1: Wählen Sie Spaltendaten, Testing World, 8. Februar 2017, hier verfügbar aus.
2. Verwenden des Linux AWK-Dienstprogramms, Frank the Programmer, 25. Juni 2011, Verfügbar hier.
3. Linux / Unix-Tutorial || SED-Befehle in Linux von Shiva, Durga Software Solutions, 30. Oktober 2016, hier verfügbar.

Bildhöflichkeit:

1. "Foremost on Xubuntu 11.04" Von Kris Kendall, Jesse Kornblum und Nick Mikus - Screenshot der Ausgabe von -h von foremost (Public Domain) über Commons Wikimedia