So verwenden Sie den awk-Befehl in Bash

Bei der Arbeit in der Befehlszeilenumgebung ist es wichtig, die verschiedenen verfügbaren Befehle gut zu verstehen, um Dateien, Verzeichnisse und andere Daten effektiv zu verwalten. Ein solcher Befehl ist der Befehl „awk“. awk ist ein leistungsstarkes Dienstprogramm zum Verarbeiten und Bearbeiten von Textdateien in der Unix/Linux-Umgebung. In diesem Artikel wird erläutert, was der Befehl „awk“ ist und wie Sie ihn effektiv nutzen können.

Was ist der Befehl „awk“?

Der Befehl „awk“ ist ein leistungsstarkes Tool zum Bearbeiten und Verarbeiten von Textdateien in Unix/Linux-Umgebungen. Es kann zum Ausführen von Aufgaben wie Mustervergleich, Filtern, Sortieren und Bearbeiten von Daten verwendet werden. awk dient hauptsächlich der strukturierten Verarbeitung und Manipulation von Daten.

So verwenden Sie den awk-Befehl

awk ist ein Befehlszeilentool, das auf vielfältige Weise verwendet werden kann. Es kann direkt über die Befehlszeile aufgerufen oder in Verbindung mit einem Shell-Skript verwendet werden. Hier sind einige Beispiele für die Verwendung von awk:

Beispiel 1: Zählen der Anzahl der Zeilen in einer Datei

Um die Anzahl der Zeilen in einer Datei zu zählen, können Sie die folgende awk-Syntax verwenden:

awk ‚END{print NR}‘

Hier ist „NR“ eine integrierte Variable, die die Anzahl der von awk verarbeiteten Datensätze (Zeilen) enthält. Das Schlüsselwort „END“ weist awk an, diesen Befehl auszuführen, nachdem alle Zeilen in der Datei verarbeitet wurden. Hier habe ich zur Veranschaulichung eine Dateitextdatei erstellt und dann die obige Syntax in einem Shell-Skript verwendet, das lautet:

#!/bin/bash
awk ‚END{print NR}‘ testfile.txt

Die von mir erstellte Textdatei hat zwei Zeilen und wenn der Befehl awk verwendet wird, wird die Ausgabe 2 angezeigt. Sie können die von mir erstellte Textdatei im Bild unten sehen:

Beispiel 2: Daten filtern

Das awk kann zum Filtern von Daten nach bestimmten Kriterien verwendet werden. Hier ist die Syntax, die man für diesen Zweck verwenden sollte:

awk ‚!//‘

Sie können beispielsweise den folgenden Befehl verwenden, um alle Zeilen in einer Datei herauszufiltern, die das Wort „Hallo“ enthalten.

#!bin/bash
awk ‚!/Hallo/‘ testfile.txt

In diesem Beispiel ist das „!“ Das Symbol negiert die Suche nach regulären Ausdrücken, sodass alle Zeilen gedruckt werden, die nicht das Wort „Hallo“ enthalten. Ich habe dieselbe Textdatei wie im vorherigen Beispiel verwendet, daher ist hier die Ausgabe des oben angegebenen Skripts:

Beispiel 3: Extrahieren bestimmter Felder

awk kann auch verwendet werden, um bestimmte Felder aus einer Datei zu extrahieren. Wenn Sie beispielsweise eine Datei mit einer Liste von Namen und Adressen haben und nur die Namen extrahieren möchten, können Sie den folgenden Befehl verwenden:

awk ‚{print $}‘

Zur Veranschaulichung habe ich hier das erste Feld derselben Textdatei gedruckt und „$1“ steht für das erste Feld in jeder Zeile der Datei. Der Befehl „print“ weist awk an, nur dieses Feld zu drucken.

#!/bin/bash
awk ‚{print $1}‘ testfile.txt

In der Textdatei lautet der erste Eintrag der ersten Zeile „This“ und der erste Eintrag der zweiten Zeile „Hello“. Hier ist also die Ausgabe des angegebenen Codes:

Abschluss

Der Befehl awk ist ein leistungsstarkes Tool zum Bearbeiten und Verarbeiten von Textdateien. Sie können damit verschiedene Vorgänge an Textdateien ausführen, z. B. bestimmte Spalten drucken, nach Mustern suchen und Summen berechnen. Indem Sie die Grundlagen von awk beherrschen, können Sie Ihren Arbeitsablauf optimieren und ein effizienterer und effektiverer Linux- oder Unix-Benutzer werden.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen