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

21

Proszę wyjaśnić, co oznacza następująca komenda:

awk -F: '{print }'
    
zadawane PHP Learner 08.09.2013, 08:36
źródło

2 odpowiedzi

43
awk -F: '{print }'
  • awk - jest to interpreter języka programowania AWK. Język AWK jest przydatny do manipulowania plikami danych,    pobieranie i przetwarzanie tekstów
  • -F <value> - mówi awk jakiego separatora pól użyć. W twoim przypadku -F: oznacza, że ​​separatorem jest : (dwukropek).
  • '{print }' oznacza wydruk czwartego pola (pola oddzielone są przez : ).

Przykład:

Powiedzmy, że istnieje plik o nazwie test i zawiera on:

Hello:my:name:is:Alaa

Jeśli wykonamy polecenie awk -F: '{print }' test , wyjście będzie:

is

Ponieważ is jest czwartym polem.

      field1   field3  field5
       -----    ----    ----
       |   |    |  |    |  |
       Hello:my:name:is:Alaa
             ||      ||
             --      --
           field2  field4

    
odpowiedział Alaa Ali 08.09.2013, 08:51
źródło
6
  • Ustawiłeś separator pól za pomocą ...

    -F
    

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

  • Drukujesz tekst pomiędzy 3 a 4 separatorem za pomocą ...

    '{print }'
    
  • To wyjaśnia to lepiej:

    echo "154:266:377:454:533" | awk -F: '{print }'
    454
    
odpowiedział Rinzwind 08.09.2013, 08:49
źródło

Przeczytaj inne pytania na temat tagów