How to count all the lines of code in a directory recursively using or operator to include several file types
我正在阅读这个答案:如何递归地计算目录中的所有代码行?
但它只适用于PHP文件。我想递归地计数,包括javascript、html、css和php文件,以获得代码组合行的总数。
我试过这个
但它不起作用。
注意:我使用的是OS X El Capitan。
避免使用
1 | find \( -name '*.php' -o -name '*.js' -o -name '*.html' \) -exec wc -l {} + |
\( \) 分组,使所有结果都交给wc 命令- 在
\( \) 中按要求添加任意数量的-o -name 。 - 用
iname 代替name 忽略文件名的大小写 - 默认情况下,
find 在当前目录下工作
参考文献:
- https://unix.stackexchange.com/questions/12902/how-to-run-find-exec
- https://unix.stackexchange.com/questions/24954/when-is-xargs-needed
- https://unix.stackexchange.com/questions/131766/Why do my shell script choke on whitespace or other special characters/131767_131767
这是一条单行线。它使用
1 | find -regex '.*\(php\|js\|css\|html?\)' -printf '%p\0' |wc -l --files0-from=- |
给这个:
包含文件:
不包括某些路径: