{Windows}{Linux}{printf}{Windowsエクスプローラー}{cut}{xargs}{得る}{同様の}{受け取れない}{何故か自分の環境にデフォルトでインストールされていない}(41)

{Linux上でWindowsエクスプローラーのプロパティと同様のファイルサイズを得る K#804C/EAE3}

$ # サイズ
$ find /mnt/chromeos/MyFiles/Music/ -type f -exec du -ab {} + | cut -f1 | perl -ne '$sum+=$_;END{print $sum}' | xargs printf "%'d\n"
55,928,397,344
$
$ # 内容
$ tree /mnt/chromeos/MyFiles/Music/ -aF | tail -1
258 directories, 4684 files

案外面倒だった。

  • Windows
    • 指定フォルダとそのサブフォルダに含まれる全ファイルの合計サイズを出す
    • 各フォルダのサイズは含まれない
  • Linux
    • ディレクトリのサイズを除外してファイルサイズだけを合計するには、find -type f等のコマンドを使う必要がある
    • カンマ区切りの整数を出力するにあたって、いい感じにコマンドを組み合わせて対応しにくい
      • perlawkpythonも片手落ち
      • rubyが何故か自分の環境にデフォルトでインストールされていない
      • printfコマンドは標準入力を受け取れない
{ファイルサイズ}

{}