grep is a command line utility that searches for patterns in files. It searches the given file(s) for lines containing a match to the given strings or regular expressions and outputs the matching lines. By default, grep prints the matching lines. The name "grep" derives from a similar operation using the Unix/Linux text editor ed. grep uses regular expressions to search for text patterns that can match multiple characters and patterns in text. It has many options to customize searches, such as ignoring case, counting matches, inverting matches, and more.