Site icon LinuxCommands.site

awk ternary condition judgment and examples

Awk ternary condition judgment is similar to the awk if else statement, providing branch control capability, and different branches perform different actions.

Ternary syntax

( Statement ) ?  True : False ;

Ternary example

In the following example, we use the awk -F option or awk FS variable to separate the input strings according to the delimiter “:”, and then compare the field value size through the ternary and print the conditional branch content.

➜  ~ echo "1:2:983" | awk 'BEGIN{FS=":"}{res=$3>11?"ok":"not";print $2,res;}'
2 ok

➜  ~ echo "1:2:983" | awk 'BEGIN{FS=":"}{res=$1>11?"ok":"not";print $2,res;}'
2 not

Ternary and if else

Awk Ternary and awk if else are equivalent.

Ternary:
     ( Statement ) ?  True : False ;


If-else:
     if( Statement ) {
         True;
     } else {
         False;
     }

So for the above ternary example, we can also use if else.

➜  ~ echo "1:2:983" | awk 'BEGIN{FS=":"}{if($1>11){print "ok"}else{print "not"}}'
not

All right.

I think you will already use the awk ternary and its relationship with awk if else.

Exit mobile version