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