home *** CD-ROM | disk | FTP | other *** search
- # SIMDISP.AWK
- # Author: Joseph Gil (yogi@humus.huji.ac.il.BITNET)
- BEGIN {
- FS = "\"";
- INDENT_UNIT = " ";
- }
- {
- curr_drive = $2;
- curr_dir = substr($4,2,length($4)-2);
- split(curr_dir,split_dir,".");
-
- INDENT_LEVEL = "";
- if (curr_drive != prev_drive) {
- print INDENT_LEVEL curr_drive;
- prev_drive = curr_drive;
- prev_main_dir = "";
- prev_sec_dir = "";
- }
- INDENT_LEVEL = INDENT_LEVEL INDENT_UNIT;
- if (split_dir[1] != prev_main_dir) {
- print INDENT_LEVEL split_dir[1];
- prev_main_dir = split_dir[1];
- prev_sec_dir = "";
- }
- INDENT_LEVEL = INDENT_LEVEL INDENT_UNIT;
- if (split_dir[2] != prev_sec_dir) {
- print INDENT_LEVEL split_dir[2];
- prev_sec_dir = split_dir[2];
- }
- INDENT_LEVEL = INDENT_LEVEL INDENT_UNIT;
- split($7,numb,",");
- size = numb[3];
- if (size < 1024) {
- size = sprintf("%4d",size);
- } else if (size < 1024*1024) {
- size /= 1024;
- size += 0.5;
- size = int(size);
- size = sprintf("%3dK",size);
- } else {
- size /= 1024 * 1024;
- size += 0.5;
- size = int(size);
- size = sprintf("%3dM",size);
- }
- date = numb[5];
- printf("%s%-12s %4s %6s %s\n",INDENT_LEVEL,$6,size,date "",$8);
- }
-