Website-Suche

Zählen von Codezeilen mit cloc


Es kann schwierig sein, die Anzahl der Codezeilen zu zählen, aus denen ein bestimmtes Programm besteht, da das bloße Betrachten des Quellcodes Kommentare, Leerzeichen usw. enthält. Auf Linux-Systemen kann der cloc-Befehl verwendet werden, um Codezeilen in einer oder mehreren Dateien zu zählen und die Ergebnisse sogar nach Programmiersprache zu sortieren.

Das Cloc-Programm ist besonders hilfreich, wenn Sie den Fortschritt eines Codierungsprojekts messen und übermitteln, Codierungsstatistiken anzeigen oder den Gesamtwert Ihres Codes berechnen müssen.

In diesem Tutorial erfahren Sie, wie Sie das Cloc-Softwarepaket auf allen gängigen Linux-Distributionen installieren und dann den Befehl cloc verwenden, um die Codezeilen verschiedener Programmdateien zu zählen.

In diesem Tutorial lernen Sie:

  • So installieren Sie cloc auf den wichtigsten Linux-Distributionen
  • So verwenden Sie den Befehl cloc zum Zählen von Codezeilen unter Linux

Installieren Sie cloc auf den wichtigsten Linux-Distributionen

CLOC kann über den Paketmanager Ihres Systems installiert werden. Verwenden Sie den entsprechenden Befehl unten, um es zu installieren.

So installieren Sie cloc unter Ubuntu, Debian und Linux Mint:

sudo apt install cloc

So installieren Sie cloc auf Fedora, CentOS, AlmaLinux und Red Hat:

sudo dnf install cloc

So installieren Sie cloc auf Arch Linux und Manjaro:

sudo pacman -S cloc

Sobald es installiert ist, können Sie die Befehle aus den folgenden Beispielen ausführen.

So verwenden Sie cloc unter Linux

Sie können den Befehl cloc verwenden, um die Codezeilen einer einzelnen Datei, mehrerer Dateien, eines Verzeichnisses oder sogar eines komprimierten Archivs wie einer .tar.gz und .zip Dateien zu zählen.

  1. Zählen der Zeilen einer Bash-Datei:

    cloc countdown.sh 
           1 text file.
           1 unique file.                              
           0 files ignored.
    
    github.com/AlDanial/cloc v 1.82  T=0.03 s (34.3 files/s, 2781.5 lines/s)
    -------------------------------------------------------------------------------
    Language                     files          blank        comment           code
    -------------------------------------------------------------------------------
    Bourne Shell                     1             12              0             69
    -------------------------------------------------------------------------------
    
  2. Zählen der Zeilen mehrerer PHP-Dateien auf einmal:

    cloc *.php
         209 text files.
         209 unique files.                                          
           0 files ignored.
    
    github.com/AlDanial/cloc v 1.82  T=2.93 s (71.4 files/s, 67066.1 lines/s)
    -------------------------------------------------------------------------------
    Language                     files          blank        comment           code
    -------------------------------------------------------------------------------
    PHP                            209          22423          80758          93103
    -------------------------------------------------------------------------------
    SUM:                           209          22423          80758          93103
    -------------------------------------------------------------------------------
    
  3. Im nächsten Beispiel drucken wir die Ergebnisse für jede Datei, die in jeder Zeile getrennt ist. Dies kann durch die Verwendung der Option --by-file erfolgen:

    cloc --by-file my_project/
           2 text files.
           2 unique files.                              
           0 files ignored.
    
    http://cloc.sourceforge.net v 1.82  T=0.01 s (149.5 files/s, 448.6 lines/s)
    --------------------------------------------------------------------------------
    File                              blank        comment           code
    --------------------------------------------------------------------------------
    my_project/perl.pl                    1              0              2
    my_project/bash.sh                    1              0              2
    --------------------------------------------------------------------------------
    SUM:                                  2              0              4
    --------------------------------------------------------------------------------
    
  4. Wir können sogar coole Dinge tun, wie z.B. die Anzahl der Codezeilen im aktuell laufenden Kernel unserer Linux-Distribution zu zählen.

    cloc /usr/src/linux-headers-`uname -r`
         347 text files.
         346 unique files.                                          
        8625 files ignored.
    
    github.com/AlDanial/cloc v 1.82  T=4.70 s (54.3 files/s, 20714.3 lines/s)
    --------------------------------------------------------------------------------
    Language                      files          blank        comment           code
    --------------------------------------------------------------------------------
    C                                43           4888           3948          30263
    Perl                             29           3323           2819          16355
    C/C++ Header                     55            425            463          13876
    DOS Batch                        33             63              0           3050
    Bourne Shell                     50            557            913           2603
    make                             17            641            569           2160
    C++                               1            268             66           1581
    Python                            7            285            411           1121
    yacc                              2            170             52           1015
    Bourne Again Shell                7            182            198            892
    lex                               2            131             66            767
    Glade                             1             58              0            603
    NAnt script                       1            107              0            442
    Assembly                          4            282           1107            360
    D                                 2              0              0             99
    awk                               1              9              5             67
    --------------------------------------------------------------------------------
    SUM:                            255          11389          10617          75254
    --------------------------------------------------------------------------------
    
  5. Und hier ist noch ein Beispiel, bei dem wir die Codezeilen in einer gesamten WordPress-Installation zählen, die alle in eine .tar.gz Datei komprimiert sind. Laut cloc gibt es satte 778.239 Codezeilen, und es war immer noch kein Problem, sie alle zu zählen.

    cloc latest.tar.gz 
        2421 text files.
        2353 unique files.                                          
          86 files ignored.
    
    github.com/AlDanial/cloc v 1.82  T=29.91 s (78.1 files/s, 40656.4 lines/s)
    -------------------------------------------------------------------------------
    Language                     files          blank        comment           code
    -------------------------------------------------------------------------------
    JavaScript                     543          74183         101931         320805
    PHP                            992          54140         158885         261259
    CSS                            554          25906          19563         155284
    JSON                            73              0              0          28413
    Sass                           155           2790            462          12011
    SVG                             15              0              0            344
    HTML                             1             13              0             84
    XML                              1              6              0             37
    Markdown                         1              1              0              2
    -------------------------------------------------------------------------------
    SUM:                          2335         157039         280841         778239
    -------------------------------------------------------------------------------
    

CLOC bietet einige zusätzliche Optionen, die sich in Nischenszenarien als nützlich erweisen können. Um sie alle zu sehen, schauen Sie sich die Handbuchseite an.

man cloc

Abschließende Gedanken

In diesem Tutorial haben wir gesehen, wie man cloc auf großen Linux-Distributionen installiert und den Befehl verwendet, um die Anzahl der Codezeilen in einer oder mehreren Dateien unter Linux zu zählen. CLOC ist ein einfaches und schnelles Programm, das in der Lage ist, Millionen von Codezeilen in nur wenigen Sekunden zu verarbeiten. Es funktioniert mit unzähligen verschiedenen Programmiersprachen, was es für fast jede Art von Entwickler nützlich macht.

Verwandte Artikel: