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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access