Grep
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 {}