AWK supports conditional statements such as if and while loops.
Conditional statements
The if command
Assume you have the following file:
50 30 80 70 20 90
Now, let's filter the values:
$ awk '{if ($1 > 50) print $1}' myfile
![](https://static.packt-cdn.com/products/9781788990554/graphics/assets/298b58b8-5aa1-410f-adfc-52221e3062e9.png)
The if statement checks every value and, if it's greater than 50, it will print it.
You can use else clauses like this:
$ awk '{ if ($1 > 50) { x = $1 * 2 print x } else { x = $1 * 3 print x }}' myfile
![](https://static.packt-cdn.com/products/9781788990554/graphics/assets/046f7d64-582c-4377-b9fd-cc5fbbcf910b.png)
If you don't use brackets {} to enclose your statements, you can type them on the same line with a semicolon:
$ awk '{if ($1 > 50) print $1 * 2; else print $1 * 3}' myfile
Note that you can save this code into a file and assign it to the awk command...