madd@world.std.com (jim frost) (10/29/89)
envbvs@epb2.lbl.gov (Brian V. Smith) writes: >In article <1989Oct27.130914.12943@world.std.com>, madd@world.std.com >(jim frost) writes: >< You could just do "wc -c foo* | tail -1". >Try that on some LARGE files and you will quickly (slowly) see that >"wc" is much slower than the "ls." Ok, the following alias ought to work: alias tsize "(cd $HOME ; echo '#include <sys/stat.h>\ main(argc,argv) int argc;char **argv;{int t=0;struct stat s;\ while(--argc){stat(*(++argv),&s);t+=s.st_size;}\ printf("%d",t);}' >foo.c ; cc -o foo foo.c) ; $HOME/foo" A bit slow for those small jobs but if you're talking Gb files it'll work great :-). jim frost software tool & die "The World" Public Access Unix for the '90s madd@std.com +1 617-739-WRLD 24hrs {3,12,24}00bps
dhesi@sunscreen.UUCP (Rahul Dhesi) (10/30/89)
I use shell scripts called "bytes" and "blocks". They are:
bytes:
/bin/ls -l $* | awk '{sum = sum + $4} END {print sum}'
blocks:
du -s $* | awk '{total += $1} END {print total}'
(System V users may need to adjust the field number in the first one.)
The "blocks" script gives me total blocks used by specified files and
directory subtrees.
Rahul Dhesi <dhesi%cirrusl@oliveb.ATC.olivetti.com>
UUCP: oliveb!cirrusl!dhesi
Use above addresses--email sent here via Sun.com will probably bounce.