Ternary expressions
Ternary expressions are also known as conditional expressions. They are a special kind of expression that has three operands.In this expression, we use one expression's value to select one of two other expressions. It works the same way as in C language. Its syntax is as follows:
conditional exp1 ? Statement 1 : statement 2
If conditional expression exp1 returns true, then Statement1 gets executed; otherwise, statement2 gets executed. For example, here we use two variables and find largest number from two given numbers as follows:
$ vi ternary.awk BEGIN { p = 10; q=20 ( p > q )? max=p: max =q print max } $ awk -f ternary.awk
The output on execution of the preceding code is as follows:
20
In the following example, we prefix each line with a number, but we only print the numbers if the line is not blank. We use the NF
built-in variable to find out whether the line in the file is empty or not, and then use the ternary expression to print the line number...