Given such a requirement, I would use a GNU grep (for the [`-o` option](https://linux.die.net/man/1/grep)), *then* pass it through `wc` to count the total number of occurrences: $ grep -o -i iphone Tweet_Data | wc -l 3 Plain `grep -c` on the data will count the number of *lines* that match, not the total number of *words* that match. Using the `-o` option tells grep to output each match on its on line, no matter how many times the match is in the line. `wc -l` tells the `wc` utility to count the number of lines. After grep puts each match in its own line, this is the total number of occurrences of the word in the input. --- If GNU grep is not available (or desired), you could transform the input with `tr` so that each word is on its own line, then use `grep -c` to count: $ tr '[:space:]' '[\n*]' < Tweet_Data | grep -i -c iphone 3