【Linux】ディレクトリ毎にファイル数を検出する方法

指定したディレクトリの配下にある全てのディレクトリ毎に、含まれているファイルの数を算出する必要がありましたのでその方法をメモ的にご紹介です。

1行でできます。

findコマンドを利用

findコマンドとwc -lコマンドを併用してファイル数をカウントします。
利用するのは下記のコマンドです。

$ for d in `find [対象ディレクトリ] -type d`; do echo $d,`ls "$d" | wc -l`; done

実行例

試しに /var/log を指定して実行した結果はこのような感じです。

$ for d in `find /var/log/ -type d`; do echo $d,`ls "$d" | wc -l`; done
/var/log/,53
/var/log/ppp,0
/var/log/tuned,1
/var/log/audit,4
/var/log/anaconda,9
/var/log/sa,59
/var/log/httpd,11
/var/log/zabbix,1
/var/log/chrony,0

これで下層にある各ディレクトリでどれだけのファイルが保管されているかをすぐに調査できるようになります。

コメントを残す

メールアドレスが公開されることはありません。