Counting lines of code?
The easiest way is to use the tool called cloc
. Use it this way:
cloc .
That's it. :-)
You should probably use SLOCCount or cloc for this, they're designed specifically for counting lines of source code in a project, regardless of directory structure etc.; either
sloccount .
or
cloc .
will produce a report on all the source code starting from the current directory.
If you want to use find
and wc
, GNU wc
has a nice --files0-from
option:
find . -name '*.[ch]' -print0 | wc --files0-from=- -l
(Thanks to SnakeDoc for the cloc suggestion!)
As the wc
command can take multiple arguments, you can just pass all the filenames to wc
using the +
argument of the -exec
action of GNU find
:
find . -type f -name '*.[ch]' -exec wc -l {} +
Alternately, in bash
, using the shell option globstar
to traverse the directories recursively:
shopt -s globstar
wc -l **/*.[ch]
Other shells traverse recursively by default (e.g. zsh
) or have similar option like globstar
, well, at least most ones.