Wenn eine Musterübereinstimmung erfolgreich ist, führt sie einen Befehl aus dem Bodyblock aus. Wenn kein Bodyblock vorhanden ist, wird eine Standardaktion ausgeführt, bei der der Datensatz gedruckt wird. Daher führt der folgende Befehl zum gleichen Ergebnis: [jerry]$ awk '/a/' Spalten nach Muster drucken Wenn eine Musterübereinstimmung erfolgreich ist, druckt AWK standardmäßig den gesamten Datensatz. Sie können AWK jedoch anweisen, nur bestimmte Felder zu drucken. Linux awk beispiele free. Im folgenden Beispiel wird beispielsweise das dritte und vierte Feld gedruckt, wenn eine Musterübereinstimmung erfolgreich ist. [jerry]$ awk '/a/ {print $3 "\t" $4}' Spalte in beliebiger Reihenfolge drucken Sie können Spalten in beliebiger Reihenfolge drucken. Im folgenden Beispiel wird beispielsweise die vierte Spalte gefolgt von der dritten Spalte gedruckt. [jerry]$ awk '/a/ {print $4 "\t" $3}' Wenn Sie den obigen Code ausführen, erhalten Sie das folgende Ergebnis: 90 Maths 87 Biology 85 English 89 History Übereinstimmende Muster zählen und drucken Lassen Sie uns ein Beispiel sehen, in dem Sie die Anzahl der Zeilen zählen und drucken können, für die eine Musterübereinstimmung erfolgreich war.
Im nächsten Block wird der Wert der 7. Spalte zu der Variablen sum addiert. Dieses Hinzufügen der 7. Spalte zur Variablen sum wiederholt sich für jede verarbeitete Zeile. Wenn alle Zeilen abgearbeitet sind, enthält die Summenvariable die Summe der Werte in der 7. Dieser Wert wird im End-Block gedruckt, wie unten gezeigt: # awk 'BEGIN {sum=0} {sum=sum+$7} END {print sum}' test300 Summe der Spaltenwerte mit awk-Skript Im zweiten Beispiel haben wir gesehen, wie man den Wert der Spalte 7 summiert, und zwar auf dieselbe Weise, anstatt in einer einzeiligen Anweisung, die wir als Skript schreiben. Erstellen Sie eine Datei sumofcolumn und fügen Sie das folgende Skript in diese Datei ein #! Awk scripting erklärt mit 10 praktischen Beispielen | NCGo. /usr/bin/awk -fBEGIN {sum=0} {sum=sum+$7} END {print sum} Nun führen Sie das Skript mit dem awk-Befehl aus, wie unten gezeigt # awk -f sumofcolumn test300 Damit wird das Skript in der Datei sumofcolumn ausgeführt und die Summe der siebten Spalte im Test angezeigt. String finden und übereinstimmende Zeile drucken Befehlssyntax: awk '{if($9 == "arkit") print $0;}' test Das obige Beispiel sucht nach dem String "arkit" in der dritten Spalte und wenn es eine Übereinstimmung findet, wird die gesamte Zeile gedruckt.
In diesem Kapitel werden einige nützliche AWK-Befehle und ihre entsprechenden Beispiele beschrieben. Betrachten Sie eine Textdatei mit folgendem Inhalt zu verarbeiten - 1) Amit Physics 80 2) Rahul Maths 90 3) Shyam Biology 87 4) Kedar English 85 5) Hari History 89 Spalte oder Feld drucken Sie können AWK anweisen, nur bestimmte Spalten aus dem Eingabefeld zu drucken. Das folgende Beispiel zeigt dies - Beispiel [jerry]$ awk '{print $3 "\t" $4}' Wenn Sie diesen Code ausführen, erhalten Sie das folgende Ergebnis: Ausgabe Physics 80 Maths 90 Biology 87 English 85 History 89 In der Datei Die dritte Spalte enthält den Betreffnamen und die vierte Spalte enthält die in einem bestimmten Betreff erzielten Noten. Drucken wir diese beiden Spalten mit dem Befehl AWK print. Im obigen Beispiel ist $3 and $4 repräsentieren das dritte bzw. Der Reportgenerator awk - LINUX - PRAXIS. das vierte Feld aus dem Eingabedatensatz. Alle Zeilen drucken Standardmäßig druckt AWK alle Linien, die dem Muster entsprechen. [jerry]$ awk '/a/ {print $0}' Im obigen Beispiel suchen wir nach Formularmustern a.
Der Name AWK steht für die drei Autoren dieses Programms, Aho, Weinberger und Kernighan. Das Ziel dieses Tools war die Generation von einfachen Reports über textbasierte Datenbankdateien. Schnell wurde das Programm dann aber weiterentwickelt, so dass es heute eins der universellsten Hilfsmittel bei der Bearbeitung von Textdatenströmen ist. Einfache Beispiele Wie bei sed, so wird auch bei awk der eigentliche Programmtext (oder einfacher – die Befehle) entweder direkt auf der Kommandozeile mitgegeben, oder über eine separate Befehlsdatei. Aber was macht denn nun awk eigentlich? Beginnen wir mit einem simplen Beispiel. Nehmen wir an, die Datei hat den folgenden Inhalt: Hans Maier 35 1234. 56 Peter Müller 27 987. 65 Herbert Schmidt 34 1111. 99 Leopold Lehrling 17 234. 99 Günter Geschäftsführer 56 12345. 89 Diese Datei ist also eine einfache textbasierte Datenbank, die die Felder Vorname, Name, Alter, Gehalt enthält. Awk Beispiele | MG-IT. Mit awk können wir diese Datei wunderbar bearbeiten. Schreiben wir doch einmal awk 'peter {print}' Dann bekommen wir die Ausgabe der Zeile von Peter Müller.