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
cloczum 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.
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 -------------------------------------------------------------------------------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 -------------------------------------------------------------------------------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-fileerfolgen: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 --------------------------------------------------------------------------------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 --------------------------------------------------------------------------------Und hier ist noch ein Beispiel, bei dem wir die Codezeilen in einer gesamten
WordPress-Installationzä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.
