ディレクトリリストにファイルサイズの合計を表示します。

ディレクトリリストにファイルサイズの合計を表示します。

Windowsdirディレクトリ リスト コマンドの最後には、リストされたファイルが占めるスペース全体を表示する行があります。たとえば、現在のディレクトリのすべてのファイル、サイズ、サイズの合計をdir *.exe表示します。 Bashのエイリアスに似た機能を.exe持ちたいのですが、dir正確にどうすればいいかわかりません。

現在私がalias dir='ls -FaGl'示して.bash_profileいます

drwxr-x---+  24 mattdmo  4096 Mar 14 16:35 ./
drwxr-x--x. 256 root    12288 Apr  8 21:29 ../
-rw-------    1 mattdmo 13795 Apr  4 17:52 .bash_history
-rw-r--r--    1 mattdmo    18 May 10  2012 .bash_logout
-rw-r--r--    1 mattdmo   395 Dec  9 17:33 .bash_profile
-rw-r--r--    1 mattdmo   176 May 10  2012 .bash_profile~
-rw-r--r--    1 mattdmo   411 Dec  9 17:33 .bashrc
-rw-r--r--    1 mattdmo   124 May 10  2012 .bashrc~
drwx------    2 mattdmo  4096 Mar 24 20:03 bin/
drwxrwxr-x    2 mattdmo  4096 Mar 11 16:29 download/

例えば。答えは以下から来ています。この問題:

dir | awk '{ total += $4 }; END { print total }'

これは私に合計を提供しますが、ディレクトリリスト自体を印刷しません。ls必要なパラメータを渡しdirてリスト全体と合計を取得できるように、1行またはシェルスクリプトに変更する方法はありますか?たとえば、dir -R *.jpg *.tifすべてのサブディレクトリにあるこれらのファイルタイプのリストとフルサイズを取得するために実行したいと思います。理想的には、各サブディレクトリのサイズを知ることができればと思いますが、必ずしもそうではありません。

ベストアンサー1

この目的のためのUNIXコマンドはすでにあります。du

ただし:

du -bch 

規則に応じて、コマンドの最後に1つ以上のファイルまたはディレクトリパスを追加できます。-hサイズを人間にやさしい形式に変換し、-bディスク使用量の代わりにファイルサイズを提供し、-c最後に合計を提供する拡張子です。

おすすめ記事