Linux

GREP Cheat Sheat

Here’s a usage cheat sheet for the grep command in Linux, covering basic to advanced usage:

Basic Usage:

  • Syntax: grep pattern filename

Examples:

  1. Search for a String in a File:
   grep "pattern" filename
  1. Search for Multiple Patterns in a File:
   grep -e "pattern1" -e "pattern2" filename
  1. Search for a String in Multiple Files:
   grep "pattern" file1 file2 file3

Advanced Usage:

  1. Search Recursively in Directories:
   grep -r "pattern" directory
  1. Case-Insensitive Search:
   grep -i "pattern" filename
  1. Display Line Numbers with Matching Lines:
   grep -n "pattern" filename
  1. Display Only Matching Parts of Lines:
   grep -o "pattern" filename
  1. Invert Match (Exclude Lines Matching Pattern):
   grep -v "pattern" filename
  1. Count Number of Matching Lines:
   grep -c "pattern" filename
  1. Display Matching Lines with Context:
   grep -A num "pattern" filename  # Display num lines after matching line
   grep -B num "pattern" filename  # Display num lines before matching line
   grep -C num "pattern" filename  # Display num lines before and after matching line
  1. Recursive and Case-Insensitive Search:
   grep -ri "pattern" directory
  1. Search for Whole Words Only:
   grep -w "pattern" filename
  1. Search for Lines That Begin/End with Pattern: grep "^pattern" filename # Lines beginning with pattern grep "pattern$" filename # Lines ending with pattern
  2. Search for Lines Matching a Regular Expression: grep -E "regex_pattern" filename
  3. Search for Lines Not Matching a Regular Expression:
    grep -Ev "regex_pattern" filename

Remember, grep is a powerful tool for searching text files, and mastering its various options can greatly enhance your productivity when working in the Linux command line.