Awk

15 interessante awk-Befehle

15 interessante awk-Befehle
Dieser Artikel führt Sie durch einige interessante awk-Befehle und wann Sie sie verwenden sollten. Lesen Sie weiter, um es herauszufinden!

Einführung in awk

AWK ist eine beliebte Sprache in UNIX und Linux. Es hat seinen Namen von seinen Autoren: Alfred Aho, Peter Weinberger und Brian Kernighan. Der awk-Befehl ermöglicht den Zugriff auf die Programmiersprache AWK, die darauf ausgelegt ist, Daten in Textstreams zu verarbeiten.

awk wird häufig zum Scannen von Mustern und zur Vereinfachung komplexer Operationen verwendet und hilft Ihnen, effektive Anweisungen zum Definieren von Textmustern in einer Datei zu schreiben. Der Befehl awk verarbeitet dann diese Anweisungen, indem er eine Zeile nach der anderen liest und eine Aktion basierend auf der gegebenen Bedingung ausführt.

Einfach ausgedrückt, awk findet und ersetzt Text und hilft beim Sortieren, Validieren oder Indizieren der angegebenen Daten.

Merkmale von AWK

awk bietet viele einzigartige Funktionen:

  1. In awk ist keine Kompilierung notwendig
  2. Wird häufig zur Datenextraktion verwendet
  3. Wird häufig für die Durchführung von Textmanipulationen verwendet
  4. Hilft bei Bedarf Ergebnisse zu generieren.

Lassen Sie uns nun die Macht der awk-Befehle erkunden.

15 interessante awk-Befehle

Hier ist eine zusammengestellte Liste einiger interessanter awk-Befehle:

  1. Drucken von Zufallszahlen in einem Satz - Angenommen, Sie möchten ein paar Zufallszahlen aus einem ausgewählten Pool drucken. Sie können die Anzahl der Zufallszahlen aus diesem Pool angeben und awk bitten, diese auszudrucken. Hier ist ein Beispiel: drucken wir 10 Zahlen von 0 bis 1000. Der awk-Befehl dafür lautet also: awk 'BEGIN for (i = 1; i <= 10; i++)
    print int(1001 * rand()) '
  1. Suche nach foo oder bar - Was ist, wenn Sie eine Zeile schreiben möchten, in der Sie eine einfache Suche nach foo oder bar durchführen möchten?? Hier ist ein Befehl, mit dem Sie genau das tun können: if (/foo/ || /bar/)
    drucken "Gefunden!"
  1. Ein Feld neu anordnen - Wenn Sie ein bestimmtes Feld in einer bestimmten Reihenfolge drucken möchten, kann awk dies für Sie tun. Angenommen, Sie möchten die ersten 5 Felder eines bestimmten Sets in einem Feld pro Zeile drucken, können Sie den folgenden Befehl verwenden: awk ' i = 1
    während ich <= 3)
    drucke $i
    ich++

    ' Eingabedatei
  1. Aufteilen einer Linie - In jedem gegebenen Satz von Dateien kann awk dabei helfen, eine Zeile in Felder aufzuteilen, wobei x der Name des Feldes ist: $ awk 'print $x,$x'xyz.TXT
  1. Mehrere Befehle gleichzeitig ausführen - Um mehrere Befehle gleichzeitig auszuführen, können Sie beide Befehle mit einem Semikolon angeben: $ echo "Guten Morgen! Jack" | awk '$2="Jill"; print $0'
  1. Ausführen eines awk-Skripts - Wenn Sie ein awk-Skript aus einer bestimmten Datei ausführen möchten, können Sie eine Datei sum_column erstellen und das folgende Skript in diese Datei einfügen: #!/usr/bin/awk -f
    BEGINNEN Summe=0
    Summe=Summe+$x
    ENDE Summe drucken

    Im obigen Skript entspricht x der Spalte, die Sie in die Datei eingeben müssen. Nach erfolgreichem Abschluss dieser Aufgabe können Sie mit dem folgenden Befehl die Summe der x-Spalte in der Eingabedatei anzeigen:

    awk -f sum_column input_file.
  1. Verwenden von -f - Beim Codieren kann es oft unpraktisch erscheinen, auf das Terminal zu verweisen. awk verwendet -f, um eine Suche aus einer Datei durchzuführen: awk -f script.awk-Eingabedatei
  1. Ausführen von mathematischen Funktionen - Sie können awk auch für einfache mathematische Funktionen verwenden: awk ' sum = $2 + $3 + $4 ; Durchschnitt = Summe / 3
    > $1, Durchschnitt ' Noten drucken
  1. Hallo Welt in awk - Sie können eine einfache Hello World in awk mit dem folgenden Befehl drucken: awk "BEGIN print "Hello World!!""

    Sie können auch ein Hello World-Programm erstellen. Der folgende Code druckt nicht nur die allgegenwärtige Hallo-Nachricht, sondern generiert auch Header-Informationen:

    $ awk 'BEGINEN print "Hallo Welt!"'
  1. Drucken der Gesamtzahl der Bytes - Sie können die Gesamtzahl der von Dateien verwendeten Bytes mit dem folgenden Befehl ermitteln: ls -l . | awk ' x += $5; ENDE \
    print "Gesamtbytes: " x '
    Gesamtbytes: 7449362
  1. Anonymisieren eines Apache-Logs - Sie können den folgenden Code verwenden, um ein Apache-Protokoll zu anonymisieren: cat apache-anon-noadmin.log | \
    awk 'Funktion ri(n) \
      return int(n*rand());   \
    BEGIN srand(); wenn (! \
    ($5 in Klinke))   \
    jack[$5] = sprintf("%d.%d.%d.%d", \
    ri(255), ri(255)\
    , ri(255), ri(255)); \
    $5 = Bube [$5]; drucke __g5_token5b610ba53dbe4  '
  1. Betrieb in Reihen - Wenn Sie eine Adresse haben, die Sie in Zeilen sortieren möchten, können Sie dies mit dem folgenden Befehl tun: BEGIN RS = "" ; FS = "\n"

    print "Name ist:", $1
    print "Adresse ist:", $2
    print "Stadt und Staat sind:", $3
    drucken ""
  1. Verwenden der while-Schleife - Die while-Schleife führt die ihr gegebene Aktion in einem wiederholten Prozess aus, bis die Bedingung wahr ist. Um beispielsweise Zahlen von 1 bis 100 zu drucken, können Sie den folgenden Code verwenden: awk 'BEGIN i = 1; während ich < 100) print i; ++i '
  1. Verwenden der do-while-Schleife - In dieser Schleife wird die Bedingung am Ende der Schleife ausgeführt, auch wenn die Anweisung falsch ist. Um beispielsweise Zahlen von 1 bis 100 mit einer do-while-Schleife auszugeben, können Sie den folgenden Code verwenden: awk 'BEGIN i = 1; tun drucke ich; ++i while (i < 100) '
  1. Verwenden von BEGIN und END - Das Schlüsselwort BEGIN wird verwendet, um einen Header für die Verarbeitung Ihres Datensatzes zu erstellen: $ awk 'BEGIN print "XXX"

    Ebenso wird nach der Verarbeitung der Daten das Schlüsselwort END verwendet:

    END Drucke "Dateifuß"'

Damit ist die Liste der 15 interessanten awk-Befehle abgeschlossen. Sie können diese ausprobieren und die Ergebnisse sehen. Ich hoffe, Sie finden es nützlich. Wenn Sie diesen Artikel interessant fanden, können Sie sich unter Linux Shell Scripting beherrschen - Zweite Ausgabe. In diesem Buch erfahren Sie alles, was Sie wissen müssen, um Shell-Scripting zu beherrschen und fundierte Entscheidungen über die von Ihnen verwendeten Elemente zu treffen.

Cursor springt oder bewegt sich zufällig während der Eingabe in Windows 10
Wenn Sie feststellen, dass Ihr Mauszeiger während der Eingabe auf einem Windows-Laptop oder -Computer automatisch und zufällig springt oder sich von s...
So kehren Sie die Scrollrichtung von Maus und Touchpads in Windows 10 um
Maus und Touchpads machen das Rechnen nicht nur einfach, sondern auch effizienter und weniger zeitaufwendig. Wir können uns ein Leben ohne diese Gerät...
So ändern Sie Mauszeiger- und Cursorgröße, Farbe und Schema unter Windows 10
Der Mauszeiger und der Cursor in Windows 10 sind sehr wichtige Aspekte des Betriebssystems. Dies kann auch für andere Betriebssysteme gesagt werden, a...