如果我想计算代码行数,最简单的事情是
cat *.c *.h | wc -l
但是如果我有多个子目录怎么办?
答案1
答案2
答案3
由于该命令可以采用多个参数,因此您可以使用GNU 操作的参数wc
将所有文件名传递给:wc
+
-exec
find
find . -type f -name '*.[ch]' -exec wc -l {} +
或者,在 中bash
,使用 shell 选项globstar
递归遍历目录:
shopt -s globstar
wc -l **/*.[ch]
其他外壳默认情况下递归遍历(例如zsh
)或具有类似的选项globstar
,例如,至少大多数。
答案4
您可以find
与xargs
和一起使用wc
:
find . -type f -name '*.h' -o -name '*.c' | xargs wc -l