Difference between revisions of "Linux comand: grep"

From RHS Wiki
Jump to navigation Jump to search
Line 9: Line 9:
 
| -e || Specify multiple search patterns || grep -e 'root' -e 'system' /etc/passwd
 
| -e || Specify multiple search patterns || grep -e 'root' -e 'system' /etc/passwd
 
|-
 
|-
| -r || Recursive || Example
+
| -r || Recursive ||  
 
|-
 
|-
| -v || Show lines not matching the pattern || Example
+
| -v || Show lines not matching the pattern ||  
 
|-
 
|-
| -i || Case insensitive || Example
+
| -i || Case insensitive ||  
 
|-
 
|-
| -n || Output line numbering || Example
+
| -n || Output line numbering ||
 
|-
 
|-
| -E || Enable regex use (similar to egrep) || Example
+
| -E || Enable regex use (similar to egrep) ||  
 
|-
 
|-
| -o || Show only the match, not the full line || Example
+
| -o || Show only the match, not the full line ||  
 
|-
 
|-
| -f FILE || Example || Example
+
| -f FILE || Example ||
 
|-
 
|-
| -H || Print file name || Example
+
| -H || Print file name ||  
|-
 
| Example || Example || Example
 
 
|}
 
|}
  

Revision as of 08:24, 11 November 2015

Command-line utility to search lines matching regular expresions in plain-text data sets.

Option Description Example
-c Count grep -c 'root' /etc/passwd
-e Specify multiple search patterns grep -e 'root' -e 'system' /etc/passwd
-r Recursive
-v Show lines not matching the pattern
-i Case insensitive
-n Output line numbering
-E Enable regex use (similar to egrep)
-o Show only the match, not the full line
-f FILE Example
-H Print file name

Examples:

grep '\<a.*\>' archivo
cat archivo | grep "\<a.*\>"
grep "#" /boot/grub/menu.lst
grep -v "#" /boot/grub/menu.lst
grep -c "iface" /etc/network/interfaces
grep -e "root" -e "password" archivo
grep -n -e "root" -e "password" archivo
grep -r "password" *
ifconfig eth0 | grep -oiE '([0-9A-F]{2}:){5}[0-9A-F]{2}' # Show eth0 MAC address
grep -Eio '[a-z0-9._-]+@[a-z0-9.-]+[a-z]{2,4}' file.txt  # Extract e-main addresses from file.txt