in reply to direcotories and spaced used
use strict; my $dir = shift; if (!$dir) {die "perl $0 [startdir]\n";} my %size; &dir_tree_size($dir); foreach my $dir ( map { $_->[1] } sort { $b->[0] <=> $a->[0] } map { [$size{$_}, $_ ] } keys %size) { print "$size{$dir}\t$dir\n"; } sub dir_tree_size { my $dir = shift; warn "$dir\n"; my ($i,$total); $total = 0; opendir DIR, $dir; my @files = grep !/^\.\.?$/, readdir DIR; for $i (@files) { if(-d $dir . "\\" . $i) { $total += &dir_tree_size($dir . "\\$i") } else { $total += -s $dir . "\\" . $i} } $size{$dir} = sprintf("%8d K", $total / 1024); return $total; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
RE: Re: directories and spaced used
by Albannach (Monsignor) on Nov 06, 2000 at 22:12 UTC | |
|
RE: Re: direcotories and spaced used
by nop (Hermit) on Nov 06, 2000 at 23:30 UTC |