pipr.tools

grep

Filter lines matching a pattern

Aa Text

Try it

stdin0 chars
stdout0 chars

Flags

--pattern string default:
--invert boolean default: false

Example

Filter log lines matching a pattern

Usage
$ echo "INFO: started
ERROR: disk full
INFO: request ok
ERROR: timeo..." | grep
View source
(input, opts = {}) => {
      if (!opts.pattern) return input;
      try {
        const re = new RegExp(opts.pattern, "i");
        return input
          .split("\n")
          .filter((l) => (opts.invert ? !re.test(l) : re.test(l)))
          .join("\n");
      } catch {
        return `Error: invalid regex "${opts.pattern}"`;
      }
    }

Suggested Pipelines

Related Tools