GNU/Linux >> LINUX-Kenntnisse >  >> Linux

awk-Befehlsbeispiele unter Linux

Der Befehl awk führt einen Musterabgleich für Dateien durch. Es basiert auf der Programmiersprache AWK. Auf das Schlüsselwort awk folgen das Muster, die auszuführende Aktion und der Dateiname. Die auszuführende Aktion wird in geschweiften Klammern angegeben. Das Muster und die auszuführende Aktion sollten in einfachen Anführungszeichen angegeben werden. Wenn das Muster nicht angegeben ist, wird die Aktion für alle Eingabedaten ausgeführt; Wenn die Aktion jedoch nicht angegeben ist, wird die gesamte Zeile gedruckt. Der awk-Befehl kann von der Befehlszeile oder aus einer awk-Skriptdatei heraus ausgeführt werden.

Der awk-Befehl kann verwendet werden, um Textdateien auf verschiedene Arten zu verarbeiten, z. B. um Text zu extrahieren, der einem bestimmten Muster entspricht; Löschen von Text, der einem bestimmten Muster entspricht; Hinzufügen von Text, der einem bestimmten Muster entspricht; und vieles mehr.

Syntax

Die Syntax des awk-Befehls lautet:

# awk [options] ['patterns {actions}'] {file names}

awk-Befehlsbeispiele

1. Drucken Sie die fünfte Spalte (auch bekannt als Feld) in einer durch Leerzeichen getrennten Datei:

# awk '{print $5}' filename

2. Drucken Sie die zweite Spalte der Zeilen mit „foo“ in einer durch Leerzeichen getrennten Datei:

# awk '/foo/ {print $2}' filename

3. Drucken Sie die letzte Spalte jeder Zeile in einer Datei und verwenden Sie ein Komma (statt Leerzeichen) als Feldtrenner:

# awk -F ',' '{print $NF}' filename

4. Summieren Sie die Werte in der ersten Spalte einer Datei und geben Sie die Summe aus:

# awk '{s+=$1} END {print s}' filename

5. Drucken Sie jede dritte Zeile beginnend mit der ersten Zeile:

# awk 'NR%3==1' filename

6. Drucken Sie verschiedene Werte basierend auf Bedingungen:

# awk '{if ($1 == "foo") print "Exact match foo"; else if ($1 ~ "bar") print "Partial match bar"; else print "Baz"}' filename

7. Drucken Sie alle Zeilen, in denen der Wert der 10. Spalte dem angegebenen Wert entspricht:

# awk '($10 == value)'

8. Drucken Sie alle Zeilen, deren Wert in der 10. Spalte zwischen einem Minimum und einem Maximum liegt:

# awk '($10 >= min_value && $10 <= max_value)'


Linux
  1. rm-Befehlsbeispiele unter Linux

  2. ps-Befehlsbeispiele in Linux

  3. sa-Befehlsbeispiele in Linux

  4. w Befehlsbeispiele unter Linux

  5. lpr-Befehlsbeispiele unter Linux

16 Beispiele für Echo-Befehle unter Linux

9 Beispiele für tee-Befehle unter Linux

9 diff-Befehlsbeispiele in Linux

Linux-awk-Befehl mit 10 Beispielen

10 fantastische Awk-Befehlsbeispiele in Linux

id-Befehlsbeispiele in Linux