フォルダ内のファイルのサイズ一覧を出力する(Mac)

フォルダの中にあるファイルのサイズを出力する手順です。今回はMacでの方法なので、コマンドラインツールとして、Terminalを使い、ディレクトリのファイル一覧を出力するlsコマンドを使って行っていきます。

lsコマンドを使用してファイルのサイズ一覧を表示するには、-lオプションを使用します。

$ ls -l

このコマンドを実行すると、現在のディレクトリに存在するファイルとディレクトリの詳細な一覧が表示されます。ファイルのサイズは各行の先頭部分に表示されます。

また、ファイルサイズを人間が読みやすい単位(KB、MB、GBなど)に変換するには、-h オプションを追加します。

$ ls -lh

サブディクレトリ内全てのファイルも含めて表示する(再帰的に表示)

上記のコマンドではディレクトリの中のファイルのみが表示されます。ディレクトリの中のサブディレクトリやその中のファイルは表示されません。もしサブディレクトリの中のファイルも含めたい場合は、ls -Rlコマンドを使用します。

$ ls -Rlh

結果をソートして表示

-S オプションを使用すると、ファイルサイズ大きい順でソートされた一覧が表示されます。

$ ls -IhS

特定の値のみを出力する方法

ls -lhコマンドの結果では、権限やユーザー名などファイルサイズ以外の情報も一覧に出力されます。これを、「ファイル名」と「ファイルサイズ」のみを抽出して出力するには、awkコマンドを使用します。

$ ls -lh | awk '{print $9, $5}'

このコマンドを実行すると、例えば、以下のような出力が得られます。

codefile.txt 1.5M

ここで、$9lsコマンドの結果の9番目の列(ファイル名)を、$5は5番目の列(ファイルサイズ)を抽出するために使用されます。print関数は抽出した列を出力します。

CSVで保存

上記で出力した一覧をCSVファイルにして保存するには以下のようにします。

$ ls -lh | awk '{print $9 "," $5}' > output.csv