いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

簡易的なソース行数を調べたいとき (linux, find, xargs, wc, awk)

概要

使いたい時によく忘れているので、ついでにここにメモメモ。。。

たまにですが、今作っているプロジェクトの規模を行数で知りたい時があったりします。

世の中にはいろいろなツールがあると思いますが、いちいちインストールするのが面倒くさい。。

ってときに、簡易的にですが以下のようにやったりすると調べられます。

$ find /path/to/target/ -type d -name 'Properties*' -prune -o -name 'Tests*' -prune -o -name '*.cs' -print | xargs wc -l | awk '{print $2"\t"$1}'

上のコマンドは対象ディレクトリ配下から Propertiesという名前とTestsという名前のファイル達を除外して cs ファイルを対象にして行数を出力します。

最後の awk コマンドは、wcの結果を入れ替えて出力しているだけです。

linuxで作業している場合はそのまま使って、Windowsで作業している場合は bash って打ち込んでWSL側に入ってからこれを実行したら動きます。

ついでに、Excelとかに結果を貼り付けたい場合は

$ find /path/to/target/ -type d -name 'Properties*' -prune -o -name 'Tests*' -prune -o -name '*.cs' -print | xargs wc -l | awk '{print $2"\t"$1}' | xclip -selection c

ってするとクリップボードに入るので簡易的ですが結構便利です。

参考情報


過去の記事については、以下のページからご参照下さい。

サンプルコードは、以下の場所で公開しています。