I have a bunch of log files. I need to find out how many times a string occurs in all files.
grep -c string *
returns
... file1:1 file2:0 file3:0 ...
Using a pipe I was able to get only files that have one or more occurrences:
grep -c string * | grep -v :0 ... file4:5 file5:1 file6:2 ...
How can I get only the combined count? (If it returns file4:5, file5:1, file6:2
, I want to get back 8.)
To search multiple files with the grep command, insert the filenames you want to search, separated with a space character. The terminal prints the name of every file that contains the matching lines, and the actual lines that include the required string of characters. You can append as many filenames as needed.
Combining wc With grepIn conjunction with grep, wc gives a count of occurrences in a set of files. For example, let's say we need to figure out how many errors of a certain type occurred over several log files. grep sends all the results to standard input, and wc performs a line count of that input.
This works for multiple occurrences per line:
grep -o string * | wc -l
cat * | grep -c string
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With