Startseite > Textverarbeitung & Suche > awk

AWK-Befehl meistern: Der Textverarbeitungs-Magier

AWK ist eine leistungsstarke Skriptsprache und ein Kommandozeilen-Tool, das verwendet wird, um Muster in Textdateien zu suchen und Daten basierend auf diesen Mustern zu verarbeiten oder neu zu formatieren. Es wird für verschiedene Textverarbeitungsaufgaben eingesetzt, wie z.B. die Generierung von Datenberichten, die Datenextraktion und -transformation. Mit diesem Leitfaden lernen Sie die grundlegende Verwendung und die erweiterten Funktionen von AWK kennen.

AWK-Übersicht

AWK ist ein Akronym, das aus den Initialen seiner drei Entwickler A. V. Aho, P. J. Weinberger und B. W. Kernighan gebildet wurde. Es ist eine weit verbreitete Datenmanipulationssprache in Unix-ähnlichen Systemen. Es liest Eingaben Zeile für Zeile aus Dateien oder der Standardeingabe und verarbeitet Daten basierend auf angegebenen Mustern und Aktionen.

Wie AWK funktioniert

AWK folgt einer grundlegenden Struktur: `pattern { action }`. Bei jeder gelesenen Zeile wird, wenn das `pattern` übereinstimmt, die `action` ausgeführt. Wenn kein Muster vorhanden ist, wird die Aktion für jede Zeile ausgeführt. Wenn keine Aktion vorhanden ist, werden übereinstimmende Zeilen unverändert ausgegeben.

Merkmale von AWK

  • Zeilenweise Verarbeitung: Verarbeitet Eingabedateien Zeile (Datensatz) für Zeile.
  • Feldweiser Zugriff: Teilt jede Zeile in Felder ($1, $2, ...) auf, die durch Leerzeichen (Standardtrennzeichen) getrennt sind, und ermöglicht den Zugriff darauf.
  • Musterabgleich: Kann Operationen nur auf Zeilen ausführen, die einem bestimmten Muster entsprechen.
  • Programmierfunktionen: Bietet grundlegende Programmierfunktionen wie Variablen, Bedingungsanweisungen, Schleifen und Funktionen.
  • Berichtserstellung: Kann komplexe formatierte Textberichte einfach erstellen.

Wichtige AWK-Befehle und -Optionen

Verarbeiten Sie Textdaten präzise mit den verschiedenen Optionen, integrierten Variablen und speziellen Mustern von AWK.

1. Grundlegende Verwendung und Eingabe-/Ausgabeoptionen

2. Eingebaute Variablen

3. Spezielle Muster

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`awk` Führen Sie den Befehl aus.

Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.

Verwendungsbeispiele

Erleben Sie die Magie der Textdatenverarbeitung durch verschiedene Beispiele für die Verwendung des AWK-Befehls.

Nur die zweite Spalte aus einer Datei ausgeben

awk '{print $2}' data.txt

Extrahiert und gibt nur das zweite Feld (Spalte) jeder Zeile aus der Datei `data.txt` aus. (Standardtrennzeichen: Leerzeichen)

Spezifische Spalten aus einer CSV-Datei ausgeben

awk -F',' '{print "Name: " $1 ", Punktzahl: " $3}' scores.csv

Gibt den Namen (erstes Feld) und die Punktzahl (drittes Feld) aus der durch Kommas (`,`) getrennten Datei `scores.csv` aus.

Nur Zeilen ausgeben, die ein bestimmtes Muster enthalten

awk '/ERROR/{print}' log.txt

Gibt alle Zeilen aus der Datei `log.txt` aus, die die Zeichenfolge 'ERROR' enthalten.

Mit Zeilennummern ausgeben

awk '{print NR ": " $0}' names.txt

Gibt jede Zeile der Datei `names.txt` mit vorangestellter Zeilennummer aus.

Wert des zweiten Feldes in Zeilen ändern, in denen das erste Feld 'apple' ist

awk '$1 == "apple" {$2 = "fruit"; print}' inventory.txt

Findet Zeilen in der Datei, in denen das erste Feld 'apple' ist, ändert das zweite Feld in 'fruit' und gibt dann die gesamte Zeile aus.

Nachrichten vor und nach der Dateiverarbeitung ausgeben und Gesamtsumme berechnen

awk 'BEGIN {total = 0; print "Berechnung startet!"} {total += $1} END {print "Gesamt: " total}' numbers.txt

Addiert alle Zahlen in `numbers.txt` und gibt Nachrichten am Anfang und Ende aus. (Geht davon aus, dass jede Zeile nur eine Zahl enthält)


Verwandte Befehle

Funktional ähnliche oder häufig zusammen verwendete Befehle.


Gleiche Kategorie Befehle