How to Count the Number of lines, Words, and, Characters in a Text File from Terminal?

word count in termimal

word count in termimal

How can we get the number of lines or number of words in a file? The most easiest way to count the number of lines, words, and characters in text file is to use the Linux command “wc” in terminal.

The command “wc” basically means “word count” and with different optional parameters one can use it to count the number of lines, words, and characters in a text file.


To count the number of lines, use “wc” with “l” as

wc -l yourTextFile

To count the number of words, use “wc” with “w” option as

wc -w yourTextFile

And to count the total number of characters, use “wc” with “c” as

wc -c yourTextFile

More Counting: Count a Certain Type of Files in a Directory

One can also cleverly use the “wc” command on terminal and find the number of files (or files of certain type) in a directory. For example, to find the number of pdf files in a directory

ls -l *.pdf | wc -l

And remember that the first line of “ls -l” statement is a description. Therefore, the total number of pdf files is one less than the result of “ls -l *.pdf | wc -l“.

We just saw an example of using pipe operator “|” to count files. Here we fed the output of command “ls -l *.pdf” to “wc”. Or ability to piping (or chaining) multiple commands is a hallmark Linux. We can do the same to numerous scenarios. For example, if we want to count all users who have currently logged, we can do

who | wc -l

How to get the number of lines matching a pattern in a file?

If you want to count the number of lines matching a string pattern in a text file, the “grep” command with the option “-c’ comes in really handy.

less my_text_file.txt | grep -c "pattern"

or we can directly apply “grep” on the file like

grep -c "pattern" my_text_file.txt