O que significa este comando: awk -F: '{print $ 4}'?

21

Por favor, explique o que significa o seguinte comando:

awk -F: '{print }'
    
por PHP Learner 08.09.2013 / 08:36

2 respostas

43
awk -F: '{print }'
  • awk - este é o interpretador da linguagem de programação AWK. A linguagem AWK é útil para manipulação de arquivos de dados,    recuperação e processamento de texto
  • -F <value> - informa ao awk qual separador de campo usar. No seu caso, -F: significa que o separador é : (dois pontos).
  • '{print }' significa imprimir o quarto campo (os campos separados por : ).

Exemplo:

Digamos que há um arquivo chamado test e ele contém o seguinte:

Hello:my:name:is:Alaa

Se nós executarmos o comando awk -F: '{print }' test , a saída será:

is

Porque is é o quarto campo.

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

    
por Alaa Ali 08.09.2013 / 08:51
6
  • Você define o separador de campo com ...

    -F
    

    , de modo que é ":" neste exemplo.

  • Você imprime o texto que está entre o 3 ° e o 4 ° separador com ...

    '{print }'
    
  • E isso explica melhor:

    echo "154:266:377:454:533" | awk -F: '{print }'
    454
    
por Rinzwind 08.09.2013 / 08:49