Grep

From wikinotes
Revision as of 01:51, 19 July 2021 by Will (talk | contribs)

Search file contents.

Documentation

man grep https://manpages.debian.org/buster/grep/grep.1.en.html

Usage

grep <dir> \
  -C3  `# show 3x lines before/after each match` \
  -l   `# show only matched files` \
  -i   `# case insensitive search` \
  -v   `# lines-not matching` \
  -E   `# extended regex` \
  -P   `# (gnu-only) perl extended regex (supports lookahead/behind)` \

multiline grep

grep -Pzo 'def[^\n]+\n\tfoo'

Regex

Perl

only available in gnu grep via -P, this supports lookahead/lookbehind.

xrandr | grep -P '(?<!dis)connected'   # negative lookbehind
xrandr | grep -P '(?<=dis)connected'   # positive lookehind