Linux 下使用 wc 统计文件夹下所有文件的代码行数(包括子目录)

时间:2020-12-29 12:33:10

wc 命令用于统计文件内容的行数、单词数、字母数。

但是如果想统计一个目录下所有文件的行数,wc 并没有提供递归统计。

不过,可以结合 find 命令,例如:

$ wc -l `find -name *.c`

其中,-l 参数是统计行数,find -name *.c 是查找当前目录(包含子目录)下所有的C文件,` ` 是 shell 中的替换命令。

当然,实现方法有很多,我只是觉得这个比较简单易记。

测试效果如下:

Linux 下使用 wc 统计文件夹下所有文件的代码行数(包括子目录)

最后,附一下 wc 的使用帮助(man wc)

NAME
       wc - print newline, word, and byte counts for each file


SYNOPSIS
       wc [OPTION]... [FILE]...
       wc [OPTION]... --files0-from=F

DESCRIPTION
       Print  newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified.  With no FILE, or when FILE is -, read standard input.  A word is a non-zero-length sequence
       of characters delimited by white space.  The options below may be used to select which counts are printed, always in the following order: newline, word, character, byte, maximum line length.

       -c, --bytes
              print the byte counts

       -m, --chars
              print the character counts

       -l, --lines
              print the newline counts

       --files0-from=F
              read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input

       -L, --max-line-length
              print the length of the longest line

       -w, --words
              print the word counts

       --help display this help and exit

       --version
              output version information and exit