≡ Menu

Unix / Linux: grep Word Count Command

How do I count words using grep command under Linux / Unix like operating systems?

You can pass the -c option to grep command to suppress normal output and display a count of matching lines for each input file. The syntax is follows:

grep -c "word" file
grep -c "string" file

In this example, search for a word called ‘var’ and display a count of matching lines:

grep -c 'var' /etc/passwd

Sample outputs:

23

You can pass the -v option to count non-matching lines:

grep -v 'var' /etc/passwd

However, this will not count words. To count exact matched words, enter:

grep -o -w 'word' /path/to/file/ | wc -w

The grep -o command will only display matched words and the wc -c command will display the word counts:

grep -o -w 'foo' bar.txt | wc -w
Share this tutorial on:
{ 1 comment… add one }
  • MacATDBB February 3, 2014, 1:11 pm

    “The grep -o command will only display matched words and the wc -c command will display the word counts”

    Should this be wc -w per the example code? wc -c will display the byte count?

Security: Are you a robot or human?

Leave a Comment

You can use these HTML tags and attributes: <strong> <em> <pre> <code> <a href="" title="">


   Tagged with: , , , , , , , ,