home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast.iso / filedocs / simdisp.awk < prev    next >
Text File  |  1994-03-04  |  1KB  |  49 lines

  1. # SIMDISP.AWK
  2. # Author: Joseph Gil (yogi@humus.huji.ac.il.BITNET)
  3. BEGIN {
  4.     FS = "\"";
  5.     INDENT_UNIT = "  ";
  6. }
  7. {
  8.     curr_drive =  $2;
  9.     curr_dir = substr($4,2,length($4)-2);
  10.     split(curr_dir,split_dir,".");
  11.  
  12.     INDENT_LEVEL = "";
  13.     if (curr_drive != prev_drive) {
  14.         print INDENT_LEVEL curr_drive;
  15.         prev_drive = curr_drive;
  16.         prev_main_dir = "";
  17.         prev_sec_dir = "";
  18.     }
  19.     INDENT_LEVEL = INDENT_LEVEL INDENT_UNIT;
  20.     if (split_dir[1] != prev_main_dir) {
  21.         print INDENT_LEVEL split_dir[1];
  22.         prev_main_dir = split_dir[1];
  23.         prev_sec_dir = "";
  24.     }
  25.     INDENT_LEVEL = INDENT_LEVEL INDENT_UNIT;
  26.     if (split_dir[2] != prev_sec_dir) {
  27.         print INDENT_LEVEL split_dir[2];
  28.         prev_sec_dir = split_dir[2];
  29.     }
  30.     INDENT_LEVEL = INDENT_LEVEL INDENT_UNIT;
  31.     split($7,numb,",");
  32.     size = numb[3];
  33.     if (size < 1024) {
  34.         size = sprintf("%4d",size);
  35.     } else if (size < 1024*1024) {
  36.         size /= 1024;
  37.         size += 0.5;
  38.         size = int(size);
  39.         size = sprintf("%3dK",size);
  40.     } else {
  41.         size /= 1024 * 1024;
  42.         size += 0.5;
  43.         size = int(size);
  44.         size = sprintf("%3dM",size);
  45.     }
  46.     date = numb[5];
  47.     printf("%s%-12s %4s %6s %s\n",INDENT_LEVEL,$6,size,date "",$8);
  48. }
  49.