django项目中的代码行计数

时间:2018-12-01 23:32:15

标签: python django bash

我使用这个shell脚本来计算django项目中的代码行,

find . -name "*.py" -type f -exec grep . {} \; | wc -l

如何修改它以不计入迁移脚本。 本质上,这意味着不计入任何名称为migrations的子文件夹中的任何内容 有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

鉴于您要排除名为migrations的目录中的所有文件,可以向find命令添加条件:

find . -name "*.py" -type f ! -path '*/migrations/*' -exec grep . {} \; | wc -l

请注意,使用cloc [GitHub]来计数行数可能更容易:

cloc --not-match-d=migrations .

然后将生成摘要,例如:

$ cloc --not-match-d='migrations' .
     102 text files.
      86 unique files.                              
      38 files ignored.

github.com/AlDanial/cloc v 1.74  T=0.88 s (97.3 files/s, 42411.8 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
XML                              2             11             32          33299
Python                          63            619            273           2673
HTML                            18             35             49            304
JavaScript                       2              8              5            100
CSS                              1              5              6             81
-------------------------------------------------------------------------------
SUM:                            86            678            365          36457
-------------------------------------------------------------------------------