Difference between revisions of "Grep"
 (→Using grep)  | 
				 (→Using grep)  | 
				||
| Line 22: | Line 22: | ||
     cat file.txt | grep '^firstline'  |      cat file.txt | grep '^firstline'  | ||
| + | |||
| + | Recursively grep for STRING within /DIR using 8 cores in parallel:  | ||
| + | |||
| + |    find /DIR -type f | parallel -k -j8 -n 1000 -m grep -H -n -ril STRING {}  | ||
Revision as of 09:49, 18 July 2019
grep searches the named input FILEs (or standard input if no files are named, or if a single hyphen-minus (-) is given as file name) for lines containing a match to the given PATTERN. By default, grep prints the matching lines. grep is a powerful tool.
Using grep
Recursively search DIR for "STRING" (also ignores caps)
grep -irl "STRING" /DIR/
Piping
grep can also be piped from or to other outputs using the pipe "|"
grep "STRING" /LOCATION/logfile.log |grep ANOTHERSTRING
Example usage:
grep "13:00:" /var/log/messages |grep "September"
tail -f /var/log/somefile.log |grep specificstring
   sudo cat /usr/local/apache/logs/error_log | grep -i "modsec" | awk '{print $10}' | sort | uniq -c | sort -n
Remove everything but grep'd
This will show only lines with "firstline" within file.txt.
cat file.txt | grep '^firstline'
Recursively grep for STRING within /DIR using 8 cores in parallel:
  find /DIR -type f | parallel -k -j8 -n 1000 -m grep -H -n -ril STRING {}