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

标签 bash shell

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

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

wc -l *.php 

该命令对给定目录非常有用,但它会忽略子目录。我在想下面的评论可能有用,但它返回 74,这绝对不是这样......

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

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

最佳答案

尝试:

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

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

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

The SLOCCount tool 也可能有所帮助。

它会给出准确的源代码行数 你指向它的层次结构,以及一些额外的统计数据。

排序输出:

找到 . -名称 '*.php' | xargs wc -l |排序-nr

关于bash - 如何递归地计算目录中的所有代码行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1358540/

相关文章:

bash - 为什么这个自定义采购函数不能使我声明的变量全局可用?

linux - 在脚本中运行 gdb 时自动退出

java - shell脚本执行中字符串连接错误

shell - 如何在 shell 脚本中使用 chmod

python - Python 中的并行处理问题

shell - openwrt中的无限循环脚本?

xml - sed 查找并替换 xml 文件中的值

linux - 无法在 bash 中使用/dev/stdin 访问 POSTed 变量

bash - 为什么 awk 将指数转换为普通整数?

shell - ImageMagick 命令转换和保存同名