Grep

From LinuxIntro
Jump to: navigation, search

grep is a command that reads strings and only outputs them if they match a pattern. For example to show all lines in a file syslog that contain the string Nov call it like:

grep "Nov" syslog

Contents

Examples

  • Show all lines that do not contain blabla
grep -v blabla filename.txt
  • Match any character

With a dot (.) you can match any character

grep -E "L.nux"

Matches Linux, Lanux L nux, but not Lnux

  • Match all characters

With a .* you can match an arbitrary count of any character

grep -E "L.*nux"

Matches Linux, Liinux, Lanux, L nux and Lnux

  • Match any character but blank
grep -E "L[^ ]nux"

Matches Linux, Lanux, but not Lnux and not L nux

  • Match any line starting with a character
grep -E "U"

Matches all lines starting with U

  • Show all files containing content
grep -ir "content" *

Usecases

Show all running processes

ps auxf | grep -E "^[^ ]+ +[^ ]+ +[^ ]+ +[^ ]+ +[^ ]+ +[^ ]+ +[^ ]+ +R"

See also