This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| grep [2025/05/01 23:48] – ken | grep [2026/01/16 03:37] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ===== Grep OR – Grep AND – Grep NOT – Match Multiple Patterns ===== | ===== Grep OR – Grep AND – Grep NOT – Match Multiple Patterns ===== | ||
| - | The grep, egrep, sed and awk are the most common Linux command line tools for parsing files. | + | The grep, egrep, sed and awk are the most common Linux command line tools for parsing files.\\ |
| - | From the following article you’ll learn how to match multiple patterns with the OR, AND, NOT operators, using grep, egrep, sed and awk commands from the Linux command line. | + | From the following article you’ll learn how to match multiple patterns with the OR, AND, NOT operators, using grep, egrep, sed and awk commands from the Linux command line.\\ |
| I’ll show the examples of how to find the lines, that match any of multiple patterns, how to print the lines of a file, that match each of provided patterns and how to find and print the lines, that do not match a pattern (negative matching). | I’ll show the examples of how to find the lines, that match any of multiple patterns, how to print the lines of a file, that match each of provided patterns and how to find and print the lines, that do not match a pattern (negative matching). | ||
| Line 9: | Line 9: | ||
| Find all the lines of a file, that match any of provided patterns. | Find all the lines of a file, that match any of provided patterns. | ||
| - | === Using grep and egrep commands: | + | **Using grep and egrep commands:** |
| < | < | ||
| $ grep -E " | $ grep -E " | ||
| $ grep -e PATTERN1 -e PATTERN2 FILE | $ grep -e PATTERN1 -e PATTERN2 FILE | ||
| - | $ egrep " | + | $ egrep " |
| - | + | **Using awk command:** | |
| - | ==== Using awk command: | + | |
| < | < | ||
| $ awk '/ | $ awk '/ | ||
| - | </ | + | </ |
| - | Using sed command: | + | **Using sed command:** |
| - | < | + | < |
| $ sed -e '/ | $ sed -e '/ | ||
| - | </ | + | </ |
| - | \\ | + | |
| === GREP AND: Match Multiple Patterns === | === GREP AND: Match Multiple Patterns === | ||
| - | It is also often required to grep a file for multiple patterns – when it is needed to find all the lines in a file, that contain not one, but several patterns. | + | It is also often required to grep a file for multiple patterns – when it is needed to find all the lines in a file, that contain not one, but several patterns.\\ |
| - | + | Note, that you can both find the lines in a file that match multiple patterns in the exact order or in the any order.\\ | |
| - | Note, that you can both find the lines in a file that match multiple patterns in the exact order or in the any order. | + | Use one of the following commands to find and print all the lines of a file, that match multiple patterns.\\ |
| - | + | \\ | |
| - | Use one of the following commands to find and print all the lines of a file, that match multiple patterns. | + | **Using grep command (exact order):** |
| - | + | ||
| - | === Using grep command (exact order): | + | |
| < | < | ||
| $ grep -E ' | $ grep -E ' | ||
| - | </ | + | </ |
| - | Using grep command (any order): | + | **Using grep command (any order):** |
| + | < | ||
| $ grep -E ' | $ grep -E ' | ||
| $ grep ' | $ grep ' | ||
| - | + | </ | |
| - | Cool Tip: The server is out of memory? Check what processes are using all the RAM and SWAP! Bash one liner for the true Linux admins! Read more → | + | **Using awk command (exact order):** |
| - | + | < | |
| - | Using awk command (exact order): | + | |
| $ awk '/ | $ awk '/ | ||
| - | + | </ | |
| - | === Using awk command (any order): | + | **Using awk command (any order):** |
| - | + | < | |
| $ awk '/ | $ awk '/ | ||
| - | + | </ | |
| - | === Using sed command (exact order): | + | **Using sed command (exact order):** |
| - | + | < | |
| $ sed '/ | $ sed '/ | ||
| - | + | </ | |
| - | === Using sed command (any order): | + | **Using sed command (any order):** |
| - | + | < | |
| $ sed '/ | $ sed '/ | ||
| + | </ | ||
| + | \\ | ||
| ==== GREP NOT: Negative Matching ==== | ==== GREP NOT: Negative Matching ==== | ||
| + | Find and print all the lines, that do not match a pattern.\\ | ||
| - | Cool Tip: Find and validate IP addresses with grep command! The best regular expression for IP addresses! Read more → | + | **Using grep command:** |
| - | + | < | |
| - | Find and print all the lines, that do not match a pattern. | + | |
| - | + | ||
| - | Using grep command: | + | |
| $ grep -v ' | $ grep -v ' | ||
| - | + | </ | |
| - | Using awk command: | + | **Using awk command:** |
| + | < | ||
| $ awk ' | $ awk ' | ||
| - | + | </ | |
| - | Using sed command: | + | **Using sed command:** |
| + | < | ||
| $ sed -n '/ | $ sed -n '/ | ||
| + | </ | ||