BBS-complangawk/326

トップ 差分 一覧 Farm ソース 検索 ヘルプ RSS ログイン

Dir Files and size - bshah (2006年07月09日 23時00分45秒)

200601/01
200601/02
..
200601/31

といった日付形式を持つディレクトリを再帰的に調べて、

DIR                 # Files         Size
200601/01        1000           20GB
200601/02         1200          18GB
....

のように表示するにはどうすればいいでしょうか?

http://groups.google.co.jp/group/comp.lang.awk/browse_frm/thread/4eca6551e666f793/eefd87036cd538bc?hl=ja#eefd87036cd538bc


Re: - Vassilis (2006年07月09日 23時02分01秒)

awk ではないですが、以下のようにできます。

for i in main_dir/*
do
    if [ ! -d "$i" ] then
        continue
    fi
    printf "%s\t%d\t%s\n" "$i" `ls "$i" | wc -l "` `du -h "$i"`
done

Re: - Vassilis (2006年07月09日 23時03分09秒)

for i in main_dir/[1-9]*

というところを

if [ ! -d "$i" ] ; then

としてみてください。

Re: - Vassilis (2006年07月09日 23時03分59秒)

printf "%s\t%d\t%s\n" "$i" `ls "$i" | wc -l` `du -h "$i"`

の表記ミスです。

Re: - John DuBois? (2006年07月09日 23時07分00秒)

求めているものは以下にあります。

$ jdu -H -o'%-16n %10i     %uB'

Name                  Files     Usage
./img/2001/01/01         65     1.37MB
./img/2001/01/02         72     1.62MB

となります。

補足 - さいとう (2006年07月09日 23時07分46秒)

jdu のスクリプトの長さに愕然。(w

{{comment multi|w}}