How would I calculate and display the number of lines and words that are contained in a .sh file?


Use the tool wc.

  • To count the number of lines: -l

    wc -l myfile.sh
  • To count the number of words: -w

    wc -w myfile.sh

See man wc for more options.


As mentioned by souravc, you can use wc for this:

$ wc -w statusToFiles.sh 
10 statusToFiles.sh
$ wc -l statusToFiles.sh 
6 statusToFiles.sh

To only display the count itself, you can pipe that output to awk, like this:

$ wc -l statusToFiles.sh | awk '{ print $1 }'

...or as kos mentioned below:

$ < statusToFiles.sh wc -l

You can use grep command with blank matching string

grep "" -c file_path
  • 1
    Why does this is answer not have more upvotes? Is there something fishy about it? It works like a charm for me and the code looks very simple. – Felix Crazzolara Nov 2 '19 at 11:04
  • 1
    or with non-blank matching string if you want to count non-empty lines grep -c . file (The period . matches any single character.) – jakun May 29 '20 at 16:01

You can also output the entire file with line numbers in front of every line using the command below:

cat -n myfile 
  • This is useless for big files (e.g. 250MB), instead it may causing freeze – user2342558 Jun 29 '20 at 12:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.