一尘不染

如何递归计算目录中的所有代码行?

javascript

我们有一个 PHP 应用程序,想要计算特定目录及其子目录下的所有代码行数。

我们不需要忽略评论,因为我们只是想得到一个粗略的想法。

wc -l *.php 

该命令适用于给定目录,但它忽略子目录。我在想下面的评论可能有效,但它返回 74,这绝对不是这种情况......

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

以递归方式从目录中输入所有文件的正确语法是什么?


阅读 134

收藏
2022-02-15

共1个答案

一尘不染

尝试:

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

或(当文件名包含空格等特殊字符时)

find . -name '*.php' | sed 's/.*/"&"/' | xargs  wc -l

SLOCCount 工具也可能有所帮助。

它将为您指向的任何层次结构提供准确的源代码行数,以及一些额外的统计信息。

排序输出:

find . -name '*.php' | xargs wc -l | sort -nr
2022-02-15