【问题标题】:How to calculate the number of lines in source code如何计算源代码中的行数
【发布时间】:2010-12-26 19:52:04
【问题描述】:

正如标题所说,我如何使用 bash 命令计算源代码文件夹中的总行数

【问题讨论】:

  • 您的源代码是用什么编程语言编写的?你需要忽略编译的文件吗?

标签: bash terminal lines-of-code


【解决方案1】:

使用sloccount

【讨论】:

  • @flyer 我不认为它支持 QML
【解决方案2】:

你可以使用

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

【讨论】:

  • 您可能想使用-type f 仅获取文件,并附加tail -1 以仅获取总数。此外,不幸的是,如果您的文件名中有空格,这将不起作用;只要您没有太多文件,find . -type f -exec wc -l {} + | tail -1 就可以工作。
【解决方案3】:

使用cloc。它支持大约 80 种语言。

【讨论】:

    【解决方案4】:

    你可以试试这样的:

    find . -name "*.java" -exec cat {} \; | wc -l
    

    【讨论】:

      【解决方案5】:

      我的建议是

      1. 在 Barti 的回答中使用 find 命令来定位所有文件
      2. 使用sedstrip out all the comments
      3. 根本不要这样做

      SLOC 是一种非常非常具有误导性的软件测量方法。比尔·盖茨说这就像用重量来估计一架飞机的质量,这可能是他说过的唯一有用的话。

      【讨论】:

      • 您的最后一段是错误的,因为这取决于您要衡量的软件内容。例如,考虑到波音喷气客机的重量与其成本大致成正比——这意味着,给定一条通过当前 737、747、767 和 777 产品线的成本和重量的回归线,您可以猜测考虑到它的重量,787 梦想客机的成本在 15% 以内。在类似的软件类别和类似的开发团队中,开发时间和 SLOC 数量具有这种比例关系。
      • 我认为这是一个很好的类比。同一家公司制造的非常相似的飞机,重量和成本之间存在密切的相关性。你比较同一个人用同一种语言编写的两个程序,是的,你可能可以将 SLOC 与编写时间、错误数量等相关联。在任何其他情况 ...
      【解决方案6】:

      这也会计算空行,但这很简单。转到您要检查的特定目录并执行

      find . | wc
      

      【讨论】:

        【解决方案7】:

        已经得到答复,只是使用awk 提供另一种方式,您肯定会拥有。

        cat *.ext | awk 'BEGIN{i=0;} {i++;} END{print "Lines ", i}'

        我也建议这样做,因为它可以很容易地编辑为您不想计算的行添加模式(例如 cmets)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-11-27
          • 1970-01-01
          • 2018-01-05
          • 1970-01-01
          • 1970-01-01
          • 2022-12-03
          • 1970-01-01
          • 2017-08-02
          相关资源
          最近更新 更多