ページ 11

linuxにおけるカレントディレクトリ以下のファイルとファイルサイズ表示方法

Posted: 2011年6月02日(木) 22:08
by sugayama
はじめまして。

現在linuxの端末のコマンドでカレントディレクトリ以下のファイルとファイルサイズ表示しようとしています。
具体的には次の例のとおりです。

コード:

A
|--B
     |--B'
         |--B'.dat
     |--BB.dat
     |--BBB.dat

|--C
|--D.bmp
このような構造の場合、

A
B Bのフォルダサイズ
C Cのフォルダサイズ
D.bmp D.bmpファイルサイズ

B
B' B'のフォルダサイズ
BB.dat BB.dataファイルサイズ
BBB.dat BBB.dataファイルサイズ

B'
B'.dat B'のファイルサイズ
...

このように左再帰で端末上で表示したいです。
ただしフォルダサイズは4096ではなく、フォルダ下にある全ファイルの合計です。
(大体のサイズが分かればいいので、
フォルダサイズとフォルダ以下のファイルの合計が一致しなくてもよいです)

こんな感じのことはコマンドで行うことができるでしょうか?
(ls,du,findなどを駆使したらできそうな気がするのですが、その技量がありません)
ファイル・フォルダ名とサイズが表示できるのであれば、
余分な表示(タイムスタンプなど)があっても大丈夫です。
また、実行時間も考量しなくてよいです。

よろしくお願いします。

Re: linuxにおけるカレントディレクトリ以下のファイルとファイルサイズ表示方法

Posted: 2011年6月03日(金) 08:05
by さかまき
ならびは御所望のものではないかもしれませんが、情報としては
du -abc で得られると思います。

Re: linuxにおけるカレントディレクトリ以下のファイルとファイルサイズ表示方法

Posted: 2011年6月03日(金) 14:27
by sugayama
さかまきさん

ご回答ありがとうございます。
こんなに短く表示できたんですね。

助かりました。ありがとうございました。

Re: linuxにおけるカレントディレクトリ以下のファイルとファイルサイズ表示方法

Posted: 2011年6月03日(金) 18:40
by ISLe
せっかく書いたので投稿します。

コード:

for i in `find $* -type d -print`
do
  echo $i
  du -bs $i/* 2>/dev/null
  echo
done

Re: linuxにおけるカレントディレクトリ以下のファイルとファイルサイズ表示方法

Posted: 2011年6月05日(日) 10:18
by sugayama
ISLeさん

返事が遅れてしまって本当に申し訳ありませんでした。

ソースコードありがとうございました。
自分の期待していた結果そのままで大変助かりました。

本当にありがとうございました。