This command filters the content of a table based on a condition passed as a parameter, which must be a boolean expression making use of any of the table columns. Other commands such as `ls` are capable of feeding `where` with their output through pipelines.
In the first form, `where` is passed a column name that the filter will run against. Next, is the operator used to compare this column to its value. The following operators are supported:
-`<` (less than)
-`<=` (less than or equal)
-`>` (greater than)
-`>=` (greater than or equal)
-`!=` (not equal)
-`==` (equal)
Strings have two additional operators:
-`=~` (fuzzy match to allow)
-`!~` (fuzzy match to not allow)
Dates can also be compared using the duration types. For example, `where accessed > 2w` will check the date in accessed to see if it's greater than 2 weeks ago. Durations currently allow these abbreviations:
-`1s` (one second)
-`1m` (one minute)
-`1h` (one hour)
-`1d` (one day)
-`1w` (one week)
-`1M` (one month)
-`1y` (one year)
## Boolean check
Where with the form `| where readonly` is used to check boolean values. For example, the command `ls --full | where readonly` will list only those files that are readonly.