cloc - 多くのプログラミング言語でコードの行数を数える


さまざまなプロジェクトに取り組んでいる間に、進捗状況のレポートや統計を提供したり、単にコードの価値を計算したりする必要がある場合があります。

cloc - コードの行数をカウントする」というこのシンプルで強力なツールがあります。これを使用すると、コードの数をすべてカウントし、コメントと空白行を同時に除外できます。

すべての主要なLinuxディストリビューションで利用可能で、複数のプログラミング言語とファイル拡張子をサポートしており、使用するための特別な要件はありません。

このチュートリアルでは、Linuxシステムに cloc をインストールして使用する方法を学びます。

LinuxシステムにClocをインストールして使用する方法

cloc のインストールは簡単で簡単です。以下に、関連するパッケージマネージャを使って、さまざまなオペレーティングシステムにclocをインストールする方法を示します。

$ sudo apt install cloc                  # Debian, Ubuntu
$ sudo yum install cloc                  # Red Hat, Fedora
$ sudo dnf install cloc                  # Fedora 22 or later
$ sudo pacman -S cloc                    # Arch
$ sudo emerge -av dev-util/cloc          # Gentoo https://packages.gentoo.org/packages/dev-util/cloc
$ sudo apk add cloc                      # Alpine Linux
$ sudo pkg install cloc                  # FreeBSD
$ sudo port install cloc                 # Mac OS X with MacPorts
$ brew install cloc                      # Mac OS X with Homebrew
$ npm install -g cloc                    # https://www.npmjs.com/package/cloc

Cloc を使用すると、特定のファイルまたはディレクトリ内の複数のファイルの行数を数えることができます。 cloc を使用するには、単に cloc と入力してから、調べたいファイルまたはディレクトリを入力します。

これはbashのファイルの例です。問題のファイルには、bashに次のコードが含まれています。

$ cat bash_script.sh

それではclocを実行しましょう。

$ cloc bash_script.sh

ご覧のとおり、ファイル数、空白行、コメント、およびコード行が数えられました。

cloc のもう1つの優れた機能は、圧縮ファイルでも使用できることです。たとえば、私は最新のWordPressアーカイブをダウンロードし、それに対して cloc を実行しました。

$ cloc latest.tar.gz

これが結果です。

あなたはそれがさまざまな種類のコードを認識し、言語ごとに統計を分離していることがわかります。

ディレクトリ内の複数のファイルに関するレポートを取得する必要がある場合は、“ --by-file” オプションを使用して各ファイルの行数を数え、それらのレポートを提供します。これは、多数のファイルと数千行のコードを含むプロジェクトにはしばらく時間がかかります。

構文は次のとおりです。

$ cloc --by-file <directory>

cloc のヘルプは読みやすく理解しやすいものですが、 cloc で使用できるいくつかの追加オプションについて説明します。

  • --diff <set1> <set2> – computes the differences in code between the source files of set1 and set2. The input can be a mix of files and directories.
  • --git – forces the inputs to be recognized as git targets if the same are not first identified as file or directory names.
  • --ignore-whitespace – ignores the horizontal whitespace when comparing files with --diff.
  • --max-file-size=<MB> – if you want to skip files larger than the given amount MB.
  • --exclude-dir=<dir1>,<dir2> – exclude given comma separated directories.
  • --exclude-ext=<ext1>,<ext2> – exclude the given file extensions.
  • --csv – export results to CSV file format.
  • --csv-delimiter=<C> – use the character <C> as the delimiter.
  • --out=<file> – save the results to <file>.
  • --quiet – suppress all information messages and show only the final report.
  • --sql=<file> – write the results as create and insert statements that can be read by a database program such as SQLite.

ある[ Cloc はあなたの武器庫に持っていることは間違いなく良いです少し便利なユーティリティです。日常的には使用されない可能性がありますが、レポートを作成する必要がある場合や、プロジェクトの進捗状況に興味がある場合に役立ちます。