Co oznacza to polecenie: awk -F: '{print $ 4}'?

30

Wyjaśnij, co oznacza następujące polecenie:

awk -F: '{print $4}'
PHP Learner
źródło

Odpowiedzi:

55
awk -F: '{print $4}'
  • awk- jest to tłumacz języka programowania AWK. Język AWK jest przydatny do manipulowania plikami danych, wyszukiwania i przetwarzania tekstu
  • -F <value>- mówi, awkjakiego separatora pól należy użyć. W twoim przypadku -F:oznacza, że ​​separatorem jest :(dwukropek).
  • '{print $4}'oznacza wydrukuj czwarte pole (pola są oddzielone :).

Przykład:

Załóżmy, że istnieje plik o nazwie test, który zawiera następujące elementy:

Hello:my:name:is:Alaa

Jeśli wykonamy polecenie awk -F: '{print $4}' test, wynikiem będzie:

is

Ponieważ isjest czwartym polem.

      pole1 pole3 pole5
       ----- ---- ----
       | | | | | |
       Witam: moje: imię: is: Alaa
             || ||
             - -
           pole2 pole4

Alaa Ali
źródło
9
  • Ustawiasz separator pól za pomocą ...

    -F
    

    więc w tym przykładzie jest to „:”.

  • Tekst, który znajduje się między 3. i 4. separatorem, drukujesz za pomocą ...

    '{print $4}'
    
  • I to wyjaśnia to lepiej:

    echo "154:266:377:454:533" | awk -F: '{print $4}'
    454
    
Rinzwind
źródło
co jeśli chcę wydrukować 454 154:266:377:454:533wydruk 4 $ i całą linię razem oddzielone spacją?
Yogesh Darji,