#! /client/bin/perl if (!$ARGV[0]) { $dirs[0] = '.'; } else { $dirs[0] = $ARGV[0]; }; for ($i=0; $i <= $#dirs; $i++) { opendir (DIR, $dirs[$i]); @newdirs = sort grep (-d "$dirs[$i]/$_" && ! /^\.\.?$/ && ! -l "$dirs[$i]/$_", readdir (DIR)); for ($j=0; $j<=$#newdirs; $j++) { $newdirs[$j] = "$dirs[$i]/$newdirs[$j]"; }; splice (@dirs, $i+1, 0, @newdirs); }; foreach $d (@dirs) { @stat = stat ($d); next if $stat[1] & 1; open (LQ, "/usr/afsws/bin/fs lq $d |"); while () { if (/^(\S+)\s+(\d+)\s+(\d+)\s+(\d+)%/) { $vol = $1; if (length ($vol) > 24) { $vol = '...' . substr($vol, -21, 21); }; printf ("%-24s%8.1f%7.1f%4d%s%s\n", $vol, $2/1000.0, $3/1000.0, $4, '% ', $d); }; }; };