Startseite > Textverarbeitung & Suche > awk-print

awk print: Textdaten ausgeben

Ein Leitfaden für die `print`-Anweisung innerhalb des `awk`-Befehls zur Ausgabe von Daten. `print` ist eine der Kernfunktionen von `awk`-Skripten und wird verwendet, um verarbeitete Texte aus Dateien oder Streams an die Standardausgabe zu senden. Sie können bestimmte Felder, ganze Zeilen oder benutzerdefinierte Zeichenketten flexibel ausgeben.

Übersicht

Die `print`-Anweisung in `awk` wird verwendet, um extrahierte Daten aus Eingabedatensätzen (Zeilen) an die Standardausgabe zu senden. Sie können Daten nach Feldern (Spalten) auswählen, mehrere Felder kombinieren, um sie auszugeben, und die Ausgabe basierend auf Bedingungen steuern. `print` ist eine der grundlegendsten Aktionen in `awk`-Skripten.

Hauptmerkmale

Die Kernfunktionen von `awk print` sind wie folgt:

  • Ausgabe ganzer Zeilen oder bestimmter Felder
  • Verwendung von integrierten Variablen (NR, NF, FS, RS usw.)
  • Kombination von Zeichenketten und Feldern zur Ausgabe
  • Unterstützung für bedingte Ausgabe
  • Fügt standardmäßig nach jeder Ausgabe einen Zeilenumbruch hinzu

Anwendungsbeispiele

Verschiedene Beispiele für die Verwendung der `print`-Anweisung in `awk`. Angenommen, die Beispieldatei `data.txt` sieht wie folgt aus: `apple 10 red banana 20 yellow orange 15 orange`

Ausgabe ganzer Zeilen

awk '{print}' data.txt

Gibt alle Zeilen der Eingabedatei unverändert aus.

Ausgabe des ersten Feldes

awk '{print $1}' data.txt

Gibt nur das erste Feld ($1) jeder Zeile aus.

Kombination mehrerer Felder und Zeichenketten zur Ausgabe

awk '{print "Item:", $1, "Color:", $3}' data.txt

Gibt das erste und dritte Feld durch Kommas getrennt aus und fügt eine benutzerdefinierte Zeichenkette hinzu.

Ausgabe bei Erfüllung einer bestimmten Bedingung

awk '$2 > 15 {print}' data.txt

Gibt nur die Zeilen aus, deren zweites Feld ($2) größer als 15 ist.

Ausgabe des letzten Feldes

awk '{print $NF}' data.txt

Gibt das letzte Feld ($NF) jeder Zeile aus. NF ist eine integrierte Variable, die die Gesamtzahl der Felder in der aktuellen Zeile angibt.

Ausgabe nach Änderung des Feldtrennzeichens

echo "fruit,100,red\nbanana,200,yellow" | awk -F',' '{print $1, $2}'

Legt das Eingabefeldtrennzeichen (-F) auf ein Komma (,) fest und gibt das erste und zweite Feld aus. (Beispieldatei: `fruit,100,red\nbanana,200,yellow`)

Tipps & Hinweise

Tipps und zu beachtende Punkte für die effektivere Nutzung von `awk print`.

Leistungs- und Nutzungstipps

  • Verwenden Sie `printf` anstelle von `print`: `printf` ermöglicht eine präzise Formatierungskontrolle, ähnlich wie `printf` in C. `print` fügt standardmäßig OFS (Ausgabefeldtrennzeichen) zwischen den Argumenten und OSR (Ausgabedatensatztrennzeichen, standardmäßig Zeilenumbruch) hinzu, während `printf` eine manuelle Formatierung durch den Benutzer erfordert.
  • Geben Sie das Feldtrennzeichen (`-F`) klar an: Wenn das Feldtrennzeichen der Eingabedatei nicht das Leerzeichen ist, stellen Sie eine korrekte Feldtrennung sicher, indem Sie die Option `-F` verwenden.
  • Verwalten Sie komplexe Logik in `awk`-Skriptdateien: Wenn das Skript länger wird, ist die Verwaltung in einer separaten Datei im Format `awk -f script.awk data.txt` besser für die Lesbarkeit und Wartung.
  • Nutzen Sie integrierte Variablen: Die Nutzung der leistungsstarken integrierten Variablen von `awk` wie `NR` (aktuelle Datensatznummer), `NF` (Anzahl der Felder im aktuellen Datensatz), `FS` (Eingabefeldtrennzeichen), `RS` (Eingabedatensatztrennzeichen) usw. ermöglicht eine flexiblere Verarbeitung.

Gleiche Kategorie Befehle