# 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; printf("%s%-12s %s\n",INDENT_LEVEL,$6,$8); }