What does this 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>
- tellsawk
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