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

30

Por favor, explique o que significa o seguinte comando:

awk -F: '{print $4}'
Estudante de PHP
fonte

Respostas:

55
awk -F: '{print $4}'
  • awk- este é o intérprete para a 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 awkqual separador de campo usar. No seu caso, -F:significa que o separador é :(dois pontos).
  • '{print $4}'significa imprimir o quarto campo (os campos sendo separados por :).

Exemplo:

Digamos que exista um arquivo chamado teste ele contenha o seguinte:

Hello:my:name:is:Alaa

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

is

Porque isé o quarto campo.

      campo1 campo3 campo5
       ----- ---- ----
       | | | | | |
       Olá: meu: nome: é: Alaa
             || ||
             - -
           campo2 campo4

Alaa Ali
fonte
9
  • Você define o separador de campos com ...

    -F
    

    para que seja ":" neste exemplo.

  • Você imprime o texto que fica entre o 3º e o 4º separador com ...

    '{print $4}'
    
  • E isso explica melhor:

    echo "154:266:377:454:533" | awk -F: '{print $4}'
    454
    
Rinzwind
fonte
e se eu quiser imprimir 454 154:266:377:454:533imprimir $ 4 e toda a linha separada por espaço?
Yogesh Darji