Linux-awk-Befehl: So werten Sie Dateien aus
Mit dem awk-Befehl durchforsten Sie Dateien und lassen bestimmte Aktionen durchführen. Die Basis des Linux-Befehls reicht zurück bis 1977.
Was ist der Linux-awk-Befehl?
Linux verfügt mit awk über eine Skript- und Programmiersprache, mit der Dateien ausgewertet und bearbeitet werden können. awk gibt es bereits seit 1977. Der Name geht zurück auf die drei Entwickler Alfred Aho, Peter Weinberger und Brian Kernighan. Das Tool wird über die Kommandozeile oder SSH (Secure Shell) genutzt. Mit Hilfe des awk-Befehls werden Dateien – ähnlich wie beim Linux-grep-Befehl – auf bestimmte festgelegte Muster durchsucht und dann unter Umständen automatisch nach bestimmten Parametern verändert.
Wie funktioniert der awk-Befehl?
awk nutzt eine Kombination aus Bedingungen und Anweisungen. Wird der Befehl ausgeführt, geht er die jeweilige Datei Zeile für Zeile durch und überprüft jede neue Zeile auf die definierte Bedingung. Ist diese für die aktuelle Zeile gegeben, wird die entsprechende Anweisung ausgeführt. Wenn keine Bedingung hinterlegt ist, wird die Anweisung für jede einzelne Zeile ausgeführt. Ist keine Anweisung hinterlegt, wird lediglich die Standardanweisung der Eingabezeile ausgeführt. So können Sie awk in Linux beispielsweise dazu nutzen, Dateien nach bestimmten Begriffen oder Mustern zu durchsuchen.
Wie sieht die Syntax des awk-Befehls aus?
Die Syntax des Linux-awk-Befehls sieht folgendermaßen aus:
$ awk [Optionen] "Bedingung {Anweisungen}" [Ausgangsdatei]
Welche Optionen hat der Linux-awk-Befehl?
Drei Optionen sind möglich:
- -F [Trennzeichen]: Mit dieser Option legen Sie das Trennzeichen für eine Datei fest. Der Standardwert ist dabei eine Leerstelle.
- -f [Dateiname]: Diese Option legt fest, in welcher Datei der awk-Befehl ausgeführt wird.
- -v: Diese Option wird verwendet, um eine Variable hinzuzufügen.
Beispiel für den awk-Befehl
Damit Sie besser verstehen, wie awk genutzt werden kann, zeigen wir Ihnen die Funktionsweise anhand eines simplen Beispiels. Hierzu verwenden wir eine einfache Datei namens beispiel.txt, die eine Auflistung von Städten, Ländern und Kontinenten in einzelnen Spalten enthält. Das sieht folgendermaßen aus:
Stadt Land Kontinent
Berlin Deutschland Europa
Paris Frankreich Europa
Hanoi Vietnam Asien
Abuja Nigeria Afrika
Möchten Sie nun die gesamte Datei anzeigen lassen, verwenden Sie folgenden Befehl:
$ awk "{print $0}" beispiel.txt
Interessanter wird es, wenn Sie sich nur bestimmte Spalten anzeigen lassen möchten. In unserem Beispiel die erste und dritte:
$ awk "{print $1, $3}" beispiel.txt
Die Ausgabe lautet in diesem Fall:
Berlin Europa
Paris Europa
Hanoi Asien
Abuja Afrika