Skip to main content

Text Searching

Introduction to GREP Command

grep (Global Regular Expression Print) is a powerful command-line utility used for searching text using patterns. It is commonly used in Unix-based systems like Linux and macOS to search for specific strings or patterns within files.

Practice file

You can download this file to practice grep.

wget -O sample.txt https://raw.githubusercontent.com/Donders-Institute/hpc-wiki-v2/master/docs/linux/exercise/gcutError_recon-all.log

Basic Usage

  • To search for a specific text within a file:
grep "used" sample.txt
  • To perform a case-insensitive search:
grep -i "home" sample.txt
info

My apologies for the large output. Type clear in the terminal to remove all your output.

  • To search for whole words only:
grep -w "Program" sample.txt
  • To display line numbers along with matching lines:
grep -n "used" sample.txt

Advanced Usage

Basic Regular Expressions

  • .: Matches any single character.
  • *: Matches zero or more of the preceding character.

Example:

grep "a.b" sample.txt

Extended Regular Expressions

Use -E to enable extended regular expressions:

  • |: Alternation (OR).
  • +: Matches one or more of the preceding character.
  • ?: Matches zero or one of the preceding character.

Example:

  • Search for cat or dog
grep -E "cat|dog" sample.txt
  • To search for multiple patterns:
grep -e "max" -e "limited" sample.txt

Searching Recursively

  • To search recursively through directories:
grep -r "home" /etc/defaults

Inverting Match

  • To display lines that do not match the pattern:
grep -v "hi" sample.txt

Cleanup

  • You can now remove the sample file once you're done:
rm sample.txt

External Resources

The grep command is an essential tool for searching and processing text data. Mastering its usage will greatly enhance your ability to manage and analyze large volumes of text efficiently.