So verwenden Sie AWK -Befehl in Bash

So verwenden Sie AWK -Befehl in Bash

Wenn Sie in der Befehlszeilenumgebung arbeiten, ist es wichtig, die verschiedenen Befehle zu verstehen, die zur effektiven Verwaltung von Dateien, Verzeichnissen und anderen Daten zur Verfügung stehen. Ein solcher Befehl ist der Befehl "awk". awk ist ein leistungsstarkes Dienstprogramm, das zur Verarbeitung und Manipulation von Textdateien in der Unix/Linux -Umgebung verwendet wird. In diesem Artikel erklärt.

Was ist der Befehl "awk"?

Der Befehl 'awk' ist ein leistungsstarkes Tool zum Manipulieren und Verarbeitung von Textdateien in Unix/Linux -Umgebungen. Es kann verwendet werden, um Aufgaben wie Muster -Matching, Filterung, Sortieren und Manipulation von Daten auszuführen. awk wird hauptsächlich verwendet, um Daten strukturiert zu verarbeiten und zu manipulieren.

So verwenden Sie awk -Befehl

awk ist ein Befehlszeilen-Tool, das auf verschiedene Weise verwendet werden kann. Es kann direkt aus der Befehlszeile aufgerufen werden oder in Verbindung mit einem Shell -Skript verwendet werden. Hier sind einige Beispiele für die Verwendung von awk:

Beispiel 1: Zählen Sie die 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" fordert awk an, diesen Befehl auszuführen, nachdem alle Zeilen in der Datei verarbeitet wurden. Hier habe ich eine Datei -Textdatei für Illustrationszwecke 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 enthält zwei Zeilen. Wenn der awk -Befehl verwendet wird, werden die angezeigten Ausgabe 2 verwendet. Sie können die Textdatei sehen, die ich im folgenden Bild erstellt habe:

Beispiel 2: Daten filtern

Der awk kann verwendet werden, um Daten basierend auf bestimmten Kriterien zu filtern, und hier ist die Syntax, die man für diesen Zweck verwenden sollte:

awk '!// '


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

#!Bin/Bash
awk '!/Hallo/'testfile.txt


In diesem Beispiel das “!Symbol negiert die reguläre Ausdrucksuche, sodass alle Zeilen, die das Wort „Hallo“ nicht enthalten. Ich habe dieselbe Textdatei wie im vorherigen Beispiel verwendet. Hier 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 Illustration habe ich das erste Feld derselben Textdatei gedruckt, und „$ 1“ repräsentiert das erste Feld in jeder Zeile der Datei. Der Befehl "Druck" fordert 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 ist „Hallo“. Hier ist die Ausgabe des angegebenen Code:

Abschluss

Der Befehl awk ist ein leistungsstarkes Tool, mit dem Textdateien manipuliert und verarbeitet werden. Sie können verschiedene Vorgänge in Textdateien ausführen, z. B. das Drucken bestimmter Spalten, die Suche nach Mustern und Berechnung von Summen. Durch die Beherrschung der Grundlagen von awk können Sie Ihren Workflow optimieren und ein effizienteres und effektiveres Linux- oder Unix -Benutzer werden.