############################################################################ # # File: tabexten.icn # # Subject: Program to tabulate file extensions # # Author: Ralph E. Griswold # # Date: March 10, 1998 # ############################################################################ # # This file is in the public domain. # ############################################################################ # # This program tabulates the file name extensions -- what follows the # last period in a file name. # # It is designed handle output UNIX ls -R, but it will handle a list # of file names, one per line. # ############################################################################ procedure main() local line, base, ext, dir ext := table(0) while line := read() do { if *line = 0 then next # skip blank lines line ? { if upto(':') then next if not tab(upto('.')) then next while tab(upto('.')) do move(1) if &pos > 1 then ext[tab(0)] +:= 1 } } ext := sort(ext, 3) while write(left(get(ext), 20), right(get(ext), 6)) end