12
votes

Comptez le nombre total de lignes dans un projet hors certains dossiers ou fichiers

à l'aide de la commande: xxx

Vous pouvez obtenir le nombre total de lignes de tous les fichiers à l'intérieur d'un dossier.

mais imaginez que vous avez des dossiers (par exemple les bibliothèques ), que vous ne voulez pas compter leurs lignes parce que vous ne les écrivez pas.

Alors, comment compteriez-vous les lignes d'un projet à l'exclusion de certains dossiers?


0 commentaires

3 Réponses :


0
votes

Vous pouvez toujours les exclure en énumérant les fichiers à l'aide d'expressions régulières, Par exemple,

*. txt inclura uniquement des fichiers TXT et ainsi de suite ...


0 commentaires

5
votes

avec trouver , vous pouvez également "nier" les conditions de correspondance avec ! . Par exemple, si je veux répertorier tous les fichiers .java dans un répertoire, à l'exclusion de ceux contenant test :

trouver. -Nom "* .java"! -Name "* test *"

J'espère que cela vous aidera!

EDIT:

D'ailleurs, le -Name Prédicat uniquement des noms de fichiers filtres. Si vous souhaitez filtrer les chemins (afin que vous puissiez filtrer des annuaires), utilisez -Path :

trouver. -Path "* .java"! -Path "* test *"


2 commentaires

Comment excluez-vous plusieurs dossiers?


@RCLAI, vous pouvez simplement ajouter des expressions supplémentaires tels que trouver. -Name '* .java'! -Path '* Dossier1 *'! -Path '* Dossier2 *'



26
votes

CLOC a toujours été un excellent ami chaque fois que je dois compter les lignes de code SRC. Utilisation du noyau 2.6.29 Linux à titre d'exemple:

$ cloc .

   26667 text files.
      26357 unique files.
          2782 files ignored.

http://cloc.sourceforge.net v 1.50  T=168.0 s (140.9 files/s, 58995.0 lines/s)
--------------------------------------------------------------------------------
Language                      files          blank        comment           code
--------------------------------------------------------------------------------
C                             11435        1072207        1141803        5487594
C/C++ Header                  10033         232559         368953        1256555
Assembly                       1021          35605          41375         223098
make                           1087           4802           5388          16542
Perl                             25           1431           1648           7444
yacc                              5            447            318           2962
Bourne Shell                     50            464           1232           2922
C++                               1            205             58           1496
lex                               5            222            246           1399
HTML                              2             58              0            378
NAnt scripts                      1             85              0            299
Python                            3             62             77            277
Bourne Again Shell                4             55             22            265
Lisp                              1             63              0            218
ASP                               1             33              0            136
awk                               2             14              7             98
sed                               1              0              3             29
XSLT                              1              0              1              7
--------------------------------------------------------------------------------
SUM:                          23678        1348312        1561131        7001719
--------------------------------------------------------------------------------


0 commentaires