Was bedeutet dieser Befehl: awk -F: '{print $ 4}'?

30

Bitte erläutern Sie, was der folgende Befehl bedeutet:

awk -F: '{print $4}'
PHP-Lerner
quelle

Antworten:

55
awk -F: '{print $4}'
  • awk- Dies ist der Interpreter für die AWK-Programmiersprache. Die AWK-Sprache ist nützlich für die Manipulation von Datendateien, das Abrufen von Text und die Verarbeitung
  • -F <value>- gibt an, awkwelches Feldtrennzeichen verwendet werden soll. In Ihrem Fall -F:bedeutet dies, dass das Trennzeichen :(Doppelpunkt) ist.
  • '{print $4}'bedeutet, das vierte Feld zu drucken (die Felder werden durch getrennt :).

Beispiel:

Nehmen wir an, es gibt eine Datei mit dem Namen testund sie enthält Folgendes:

Hello:my:name:is:Alaa

Wenn wir den Befehl ausführen, lautet awk -F: '{print $4}' testdie Ausgabe:

is

Da isist das vierte Feld.

      field1 field3 field5
       ----- ---- ----
       | | | | | |
       Hallo: mein: Name: ist: Alaa
             || ||
             - -
           field2 field4

Alaa Ali
quelle
9
  • Sie setzen das Feldtrennzeichen mit ...

    -F
    

    Das ist also ":" in diesem Beispiel.

  • Sie drucken den Text zwischen dem 3. und 4. Trennzeichen mit ...

    '{print $4}'
    
  • Und das erklärt es besser:

    echo "154:266:377:454:533" | awk -F: '{print $4}'
    454
    
Rinzwind
quelle
was ist, wenn ich drucken möchte, um 454 154:266:377:454:533$ 4 und die gesamte Linie zu drucken, die zusammen durch Leerzeichen getrennt werden?
Yogesh Darji