On Jun 21, 10:16pm, der.hans wrote: > anyone know of a way to get du to give me the cumulative size of the files > in a dir tree, but to not include the dir sizes? Or how to get the > cumulative size of the dirs and not include files? > > I've got a tarball that opens to a known size on one box and another size > on another. The 1st box has 1024 dirs and the 2nd 4096 dirs. I presume > this is the difference, but it's 10MB on a 100MB tarball, so I'd like to > be certain I'm not losing 10MB of stuff :). I'm also going to be comparing > dus of the filesystem on both boxen as part of my backup mechanism and I'd > like to be able to automagically verify that everything's ok. > > Granted, I could write a script that would do this, but that would require > that I think as well as put together 10 or 20 lines of code. Why should I > go to soooo much effort if there's already a tool to do this? ;-) I'm sure there's some obscure set of switches to do this, but we both know that it's *way* more fun to write a script, particularly if it's in perl. The script below will give you a count of the regular files and also provide you with the sum of their sizes. It doesn't take into account the space wasted by partially using a disk block, but then you don't want that for your purposes. Here's how you use it: ocotillo:ptests$ ./fsizes /usr/local /usr/local: 1973 files; 110960876 bytes total --- fsizes --- #!/usr/bin/perl -w use File::Find; my ($root) = @ARGV; if (!defined($root)) { die "Usage: $0 root\n"; } my ($size, $count) = (0, 0); find( sub { if (-f && !-l) { $size += -s; $count++; } }, $root ); print "$root: $count files; $size bytes total\n"; --- end fsizes ---