ウェブエンジニア珍道中

日々の技術的に関する経験を書いていきます。脱線もしますが助けになれば幸いです。

各ファイルの行数を取得・集計したい時に使えるLinuxコマンドについて

ケース1:ソースの総行数を知りたい!

興味本位で一度はしてみようとした方も
多いのでは無いでしょうか。僕はあります。
その時に使えるコマンドはこちら。

find -type f | xargs wc -l

これでドバーッと各ファイルの行数が出た後に
最後の行に総数が出てきます。
find -type fでディレクトリではないファイルを抽出して、
wc -lで行数を数えているだけですね。

ケース2:jsファイルの総行数を知りたい!

「jsファイルの行数が知りたいんだけど」って人ですね。
これはfindコマンドに-nameオプションをつけるとできます。

find -type f -name "*js" | xargs wc -l

自由に拡張子がアレンジできますね。楽チン楽チン。

ケース3:行数が多いやつ上位を抽出したい!

「巨大ファイルをリファクタリングしたい」って人向け。

find -type f | xargs wc -l | sort -r | head

これで上位10位までのファイルが出てきます。
sort -rで数字が多い順に並べて、頭10行をとってきてます。
headコマンドのオプションいじって上位30位にしたり、
jsファイルの上位15位をとってきたりと自由自在ですね。