如何使用或运算符递归计算目录中的所有代码行以包含多种文件类型

时间:2016-07-17 23:55:45

标签: bash shell

我正在读这个答案:How to count all the lines of code in a directory recursively?

但它只适用于php文件。我想递归计算包括javascript,html,css和php文件,以获得组合代码行的总数。

我试过这个find . -name '*.php' |'*.js' | xargs wc -l

但它不起作用。

注意:我使用的是OS X El Capitan。

3 个答案:

答案 0 :(得分:3)

避免使用NSURLComponents

xargs
  • find \( -name '*.php' -o -name '*.js' -o -name '*.html' \) -exec wc -l {} + 分组,以便将所有结果提供给\( \)命令
  • wc
  • 中添加所需数量-o -name
  • 使用\( \)代替iname来忽略文件名
  • 默认情况下,name适用于当前目录

<强>参考:

答案 1 :(得分:1)

放手一搏:

CheckBox chk = new CheckBox(); Binding bnd = new Binding (nameof (IsEnable)) { Source = this }; chk.SetBinding(IsEnabledProperty, bnd);

使用包含文件:

find . -name '*.php' | xargs wc -l

不包含某些路径:

find . -name '*.php' -o -name '*.js' | xargs wc -l

答案 2 :(得分:1)

这是一个班轮。它使用find regex选项查找匹配的扩展名,使用wc --files0-from=-参数从标准输入中获取文件列表

find -regex '.*\(php\|js\|css\|html?\)' -printf '%p\0' |wc -l --files0-from=-