首页 > 解决方案 > 行数 - 如何排除目录和图像?

问题描述

为了计算我的存储库的行数,我输入了下面的代码,发现图像和 pdf 也包含在字数中。

git ls-files | xargs wc -l

当有人问你存储库的规模时,你会包括图像/pdf吗?如果没有,有人可以帮我回答以下问题吗?

  1. 如何排除“/pdfs”目录下的文件
  2. 如何排除 .jpg 和 .png?

标签: linuxbash

解决方案


您可以使用cloc。它计算许多编程语言中源代码的空白行、注释行和物理行。Cloc可以将文件、目录和/或存档名称作为输入。例如,如果您想计算存储库中的代码行数并在计算时排除某些目录,您可以像这样指定用逗号分隔的目录:

cloc --exclude-dir=imagedir,pdfdir your_repository

cloc将向您显示这样的报告:

     387 text files.
     387 unique files.
      22 files ignored.

github.com/AlDanial/cloc v 1.88  T=0.97 s (376.5 files/s, 152866.0 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Go                             235          17216          11769          95308
InstallShield                    2            410              0          11178
XML                             41           1418            159           2738
Python                           5            516            523           1792
Bourne Shell                    21            266            283           1512
JSON                            19             24              0           1005
Markdown                        23            452              0            797
AsciiDoc                         4            119              0            312
Ruby                             4             44             31            238
YAML                             4              4              2            113
WiX source                       1             19             24            112
make                             3             16             25             68
DOS Batch                        2             13              2             38
WiX include                      1              0              0             28
Dockerfile                       1             13              9             17
-------------------------------------------------------------------------------
SUM:                           366          20530          12827         115256
-------------------------------------------------------------------------------

你也可以像这样在 Git 中使用 CLOC:

cloc $(git ls-files) 

这相当于

git ls-files | xargs cloc

推荐阅读