Ubuntu: What does this command mean: awk -F: '{print $4}'?



Question:

Please explain what does following command mean:

awk -F: '{print $4}'  


Solution:1

awk -F: '{print $4}'  
  • awk - this is the interpreter for the AWK Programming Language. The AWK language is useful for manipulation of data files, text retrieval and processing
  • -F <value> - tells awk what field separator to use. In your case, -F: means that the separator is : (colon).
  • '{print $4}' means print the fourth field (the fields being separated by :).

Example:

Let's say that there's a file called test, and it contains the following:

Hello:my:name:is:Alaa  

If we execute the command awk -F: '{print $4}' test, the output will be:

is  

Because is is the fourth field.

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


Solution:2

  • You set the field separator with ...

    -F  

    so that is ":" in this example.

  • You print the text that is between the 3th and 4th separator with ...

    '{print $4}'  
  • And this explains it better:

    echo "154:266:377:454:533" | awk -F: '{print $4}'  454  

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »