--- title: find layout: command version: 0.59.1 --- Searches terms in the input or for elements of the input that satisfies the predicate. ## Signature ```> find ...rest --predicate --regex --insensitive --multiline --dotall --invert``` ## Parameters - `...rest`: terms to search - `--predicate {block}`: the predicate to satisfy - `--regex {string}`: regex to match with - `--insensitive`: case-insensitive search for regex (?i) - `--multiline`: multi-line mode: ^ and $ match begin/end of line for regex (?m) - `--dotall`: dotall mode: allow a dot . to match newline character \n for regex (?s) - `--invert`: invert the match ## Examples Search for multiple terms in a command output ```shell > ls | find toml md sh ``` Search for a term in a string ```shell > echo Cargo.toml | find toml ``` Search a number or a file size in a list of numbers ```shell > [1 5 3kb 4 3Mb] | find 5 3kb ``` Search a char in a list of string ```shell > [moe larry curly] | find l ``` Find odd values ```shell > [2 4 3 6 5 8] | find --predicate { |it| ($it mod 2) == 1 } ``` Find if a service is not running ```shell > [[version patch]; [0.1.0 false] [0.1.1 true] [0.2.0 false]] | find -p { |it| $it.patch } ``` Find using regex ```shell > [abc bde arc abf] | find --regex "ab" ``` Find using regex case insensitive ```shell > [aBc bde Arc abf] | find --regex "ab" -i ``` Find value in records ```shell > [[version name]; [0.1.0 nushell] [0.1.1 fish] [0.2.0 zsh]] | find -r "nu" ```