Relational and Boolean Operators
Relational and Boolean operators allow you to make comparisons between two expressions. The relational operators are found in Table 7.4.
Operator | Description |
< | Less than |
> | Greater than |
<= | Less than or equal to |
>= | Greater than or equal to |
== | Equal to |
!= | Not equal to |
~ | Matches |
!~ | Does not match |
A relational expression can be used in place of a pattern to control a particular action. For instance, if we wanted to limit the records selected for processing to those that have five fields, we could use the following expression:
NF == 5
This relational expression compares the value of NF (the number of fields for each input record) to five. If it is true, the action will be executed; otherwise, it will not.
Note
Make sure you notice that the relational operator “==” (“is equal to”) is not the same as the assignment operator “=” (“equals”). It is a common error to use “=” instead of “==” to test for equality.
We can use a relational expression to validate the phonelist database before attempting to print out the record.
NF == 6 { print $1, $6 }
Then only lines with six fields will be printed.
The opposite of “==” is “!=” (“is not equal to”). Similarly, you can compare one expression to another to see if it is greater than (>) or less than (<) or greater than or equal to (>=) or less than or equal to (<=). The expression
NR > 1
tests whether the number of the current record is greater than 1. As we’ll see in the next chapter, relational ...
Get sed & awk, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.