Mit dem awk-Befehl durch­fors­ten Sie Dateien und lassen bestimmte Aktionen durch­füh­ren. 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 Pro­gram­mier­spra­che, mit der Dateien aus­ge­wer­tet und be­ar­bei­tet werden können. awk gibt es bereits seit 1977. Der Name geht zurück auf die drei Ent­wick­ler Alfred Aho, Peter Wein­ber­ger und Brian Kernighan. Das Tool wird über die Kom­man­do­zei­le oder SSH (Secure Shell) genutzt. Mit Hilfe des awk-Befehls werden Dateien – ähnlich wie beim Linux-grep-Befehl – auf bestimmte fest­ge­leg­te Muster durch­sucht und dann unter Umständen au­to­ma­tisch nach be­stimm­ten Pa­ra­me­tern verändert.

Wie funk­tio­niert der awk-Befehl?

awk nutzt eine Kom­bi­na­ti­on aus Be­din­gun­gen und An­wei­sun­gen. Wird der Befehl aus­ge­führt, geht er die jeweilige Datei Zeile für Zeile durch und überprüft jede neue Zeile auf die de­fi­nier­te Bedingung. Ist diese für die aktuelle Zeile gegeben, wird die ent­spre­chen­de Anweisung aus­ge­führt. Wenn keine Bedingung hin­ter­legt ist, wird die Anweisung für jede einzelne Zeile aus­ge­führt. Ist keine Anweisung hin­ter­legt, wird lediglich die Stan­dard­an­wei­sung der Ein­ga­be­zei­le aus­ge­führt. So können Sie awk in Linux bei­spiels­wei­se dazu nutzen, Dateien nach be­stimm­ten Begriffen oder Mustern zu durch­su­chen.

Wie sieht die Syntax des awk-Befehls aus?

Die Syntax des Linux-awk-Befehls sieht fol­gen­der­ma­ßen aus:

$ awk [Optionen] "Bedingung {Anweisungen}" [Ausgangsdatei]

Welche Optionen hat der Linux-awk-Befehl?

Drei Optionen sind möglich:

  • -F [Trenn­zei­chen]: Mit dieser Option legen Sie das Trenn­zei­chen für eine Datei fest. Der Stan­dard­wert ist dabei eine Leer­stel­le.
  • -f [Dateiname]: Diese Option legt fest, in welcher Datei der awk-Befehl aus­ge­führt wird.
  • -v: Diese Option wird verwendet, um eine Variable hin­zu­zu­fü­gen.

Beispiel für den awk-Befehl

Damit Sie besser verstehen, wie awk genutzt werden kann, zeigen wir Ihnen die Funk­ti­ons­wei­se anhand eines simplen Beispiels. Hierzu verwenden wir eine einfache Datei namens beispiel.txt, die eine Auf­lis­tung von Städten, Ländern und Kon­ti­nen­ten in einzelnen Spalten enthält. Das sieht fol­gen­der­ma­ß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

In­ter­es­san­ter 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
Zum Hauptmenü