AWK Commands Cheat Sheet
Tags: linux cheat-sheet
Inhaltsverzeichnis
AWK
AWK ist ein leistungsstarkes Tool zur Textverarbeitung unter Unix/Linux. Es ermöglicht das einfache Filtern, Bearbeiten und Umwandeln von Daten, zum Beispiel aus Dateien oder Befehlsausgaben.
AWK-Befehle und ihre Bedeutung
| Nr. | Befehl | Beschreibung |
|---|---|---|
| 1 | awk '{print $1}' test.txt |
Gibt die erste Spalte jeder Zeile aus. |
| 2 | awk -F':' '{print $1, $3, $4}' /etc/passwd |
Verwendet : als Trennzeichen und gibt Spalte 1, 3 und 4 aus. |
| 3 | awk '$3 > 100' test.txt |
Zeigt nur Zeilen, in denen die dritte Spalte größer als 100 ist. |
| 4 | awk 'BEGIN {print "Header"} {print $0} END {print "Footer"}' test.txt |
Fügt vor den Daten “Header” und danach “Footer” hinzu. |
| 5 | awk 'NR==1 {print}' test.txt |
Gibt nur die erste Zeile der Datei aus. |
| 6 | awk 'NF > 8' test.txt |
Zeigt Zeilen mit mehr als 8 Spalten an. |
| 7 | awk '$2 ~ /pattern/' test.txt |
Gibt Zeilen aus, in denen die zweite Spalte “pattern” enthält. |
| 8 | awk 'length($0) > 30' test.txt |
Zeigt nur Zeilen mit mehr als 30 Zeichen. |
| 9 | awk '{sum += $1} END {print sum}' test.txt |
Addiert alle Werte der ersten Spalte und gibt die Summe aus. |
| 10 | awk '!seen[$0]++' test.txt |
Entfernt doppelte Zeilen und gibt nur eindeutige aus. |
| 11 | awk sub("alt", "neu", $2) |
Ersetzt „alt“ durch „neu“ in Spalte 2 (nur erstes Vorkommen) |
| 12 | awk gsub("alt", "neu", $2) |
Ersetzt „alt“ überall in Spalte 2 |
In AWK steht $0 für die gesamte Zeile.
$1,$2,$3, … → einzelne Spalten (Felder)$0→ die komplette Zeile
Beispiele
Ich habe eine Datei namens test.txt erstellt, die folgenden Inhalt enthält: Diese Zeile existiert nur für die Show
Befehl:
awk 'BEGIN {print "Header"} {print $0} END {print "Footer"}' test.txt
Header Diese Zeile existiert nur für die Show Footer
Befehl:
awk 'sub("nur", "nicht")' test.txt
Diese Zeile existiert nicht für die Show