nice new tool to show version of feisty meow
[feisty_meow.git] / scripts / files / summing_dir.pl
index 8c060b1c8333374b6ca587a648bf1510a8eb20e6..10604659bc4e40d5c9eb457fd82dbf73c152b0d1 100644 (file)
@@ -38,6 +38,8 @@ if ($#ARGV < 0) {
 }
 
 foreach $dir (@arg_list) {
+  if ($dir eq "-al") { next; }  # skip ls directives.
+  if ($dir eq "-l") { next; }  # skip ls directives.
   $chewed_line = $chewed_line . " \"$dir\"";
 }
 
@@ -49,20 +51,16 @@ if ("$chewed_line" eq "") {
 # show the header, now that we know there's something to print.
 print "[" . $print_list . "]\n\n";
 
-##print "chewed_line is: $chewed_line\n";
-
 local($temp_file)=`mktemp "$TMP/zz_frdsumdir.XXXXXX"`;
 chop($temp_file);
 
 # drop the main payload, the list of directory info, but also save that
 # info to a file for analysis.
-system("ls -hlF $color_add $chewed_line");
-system("ls -hlF $color_add $chewed_line > $temp_file");
+system("ls -HhlF $color_add $chewed_line");
+system("ls -HhlF $color_add $chewed_line > $temp_file");
   # the color_add variable, if defined, will have flags for setting the
   # directory listing color scheme.
 
-##print "file is: $temp_file\n";
-
 local($lengths) = 0;
 
 # open the file and process the lines to get file lengths.
@@ -72,7 +70,6 @@ $pattern="^[^ ]+ +[^ ]+ +[^ ]+ +[^ ]+ +([0-9.]+[KMG]?).*\$";
 foreach $file_line (<DIRLIST>) {
   if ($file_line =~ /$pattern/) {
     (local $munged = $file_line) =~ s/$pattern/\1/;
-    #print "munge=$munged\n";
     if ($munged =~ /K$/) {
       chop $munged;
       $munged *= 1024.0;
@@ -94,14 +91,22 @@ foreach $file_line (<DIRLIST>) {
 close(DIRLIST);
 unlink($temp_file);  # clean up.
 
-#print "lens are: $lengths\n";
-
 local($total)=int($lengths);
 local($kbytes)=int($total / 102.4) / 10;
 local($mbytes)=int($kbytes / 102.4) / 10;
+local($gbytes)=int($mbytes / 102.4) / 10;
 
 print "\n";
-print "These files occupy $total bytes ($kbytes KB / $mbytes MB).\n";
+# print a fancy listing showing bytes at least, but only showing mb and gb if appropriate.
+print "These files occupy $total bytes ($kbytes KB";
+if ($mbytes ne 0) {
+ print " / $mbytes MB";
+}
+if ($gbytes ne 0) {
+ print " / $gbytes GB";
+}
+print ").\n";
+
 print "Overall Drive Usage (megs):\n";
 
 system("df -m $chewed_line >$temp_file");