ググったらWindowsでの知見しか出てこないので、Rubyでサクッと作ってみた。Macならこれを書き換えればカウントできます。
環境
$ ruby -v ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin16]
コード
require 'find' # @param [String] target_path ファイルを計測したい親のパス # @return [Hash] Keyに拡張子、valueにカウント数が入ったHash def extname_count_hash(target_path) hash = {} Find.find(target_path) do |path| # ディレクトリの場合はスキップする next if FileTest.directory?(path) extname = File.extname(path) hash[extname] = 0 unless hash.has_key?(extname) hash[extname] += 1 end hash end
※ちなみに .gitignore
みたいな .
始まりのファイルや、拡張子がないものは ""
としてカウントされます。
使い方
こんなメソッドを用意して
def write_csv(target_path,output_file_path) File.open(output_file_path,"w") do |out_f| extname_count_hash(target_path).each do |key, value| out_f.write "#{key},#{value}\n" end end end
write_csv("./","test.csv")
こんな感じで書き出せばいい感じでCSVが出力できます。