wc 命令用于统计文件内容的行数、单词数、字母数。但是如果想统计一个目录下所有文件的行数,wc 并没有提供递归统计。
不过,可以结合 find 命令,例如:
$ wc -l `find -name *.c`
其中,-l 参数是统计行数,find -name *.c 是查找当前目录(包含子目录)下所有的C文件,` ` 是 shell 中的替换命令。
当然,实现方法有很多,我只是觉得这个比较简单易记。
测试效果如下:
最后,附一下 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