Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/5/84; site baylor.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!think!harvard!seismo!ut-sally!ut-ngp!shell!neuro1!baylor!peter From: peter@baylor.UUCP (Peter da Silva) Newsgroups: net.sources Subject: le.c Message-ID: <506@baylor.UUCP> Date: Wed, 21-Aug-85 15:05:15 EDT Article-I.D.: baylor.506 Posted: Wed Aug 21 15:05:15 1985 Date-Received: Sun, 25-Aug-85 04:37:57 EDT Distribution: net Organization: The Power Elite, Houston, TX Lines: 82 le is an extended ls, designed to please all the people who want to get weird info on a file. It dumps reliable info in reliable positions, for example it won't stick the major/minor device #s in the file size feild of the output. Let me see about the options... Without any flags it outputs the same info as ls... Usage: le [-A|-N] [-diMmlUuGgrsatc] [-Ttab] [-Hh] [-D] [file]... -d Toggle 'dev' flag. -i Toggle 'inode' flag. -m Toggle 'mode' flag. -M Toggle 'short mode' (octal mode) flag. -l Toggle 'links' flag. -u Toggle 'user' flag. -U Toggle 'short user' (userid) flag. -g Toggle 'group' flag. -G Toggle 'short group' (groupid) flag. -r Toggle 'rdev' flag. -s Toggle 'size' flag. -a Toggle 'atime' flag. -t Toggle 'mtime' flag. -c Toggle 'ctime' flag. -h Toggle header. -H Force output of the header. -N (No) Clear all flags. -A (All) Set all flags. -D Dont list directories (like ls -d). -Ttab Use the string 'tab' to seperate feilds instead of space. The flags can be included in any order but having any of [dimMluUgGrsatc] before [AN] is kind of useless, and having [Hh] before [dimMluUgGrsatc] can be misleading. You can intersperse options with files if you want to list different directories differently. I don't see any reason to do this but I also see no good reason to prevent this (no, I don't use getopt). As an example: here is 'ls -al' compared with 'le' Note that feild 7 varies between a time and a year, and that 4 varies between a size and a device #... while this is more useful for humans it's kind of hard on awk... le isn't a replacement for 'ls', just for ls in shell scripts so you can keep awk and relatives happy. % ls -al /dev total 4 c-w--w--w- 2 root 5, 0 Aug 21 13:46 aux1 c-w--w--w- 2 root 5, 1 May 20 09:50 aux2 crw--w--w- 1 root 0, 8 Aug 20 13:52 console ... crw-rw-rw- 1 root 1, 23 Aug 18 1982 hsix7 crw------- 1 root 2, 1 Aug 20 13:52 kmem -rw-rw-r-- 1 root 1635 Jul 11 17:39 lp c-w--w--w- 2 root 5, 0 Aug 21 13:46 lp1 c-w--w--w- 2 root 5, 1 May 20 09:50 lp2 ... crw--w--w- 1 root 0, 15 Jul 23 15:38 tty7 % le /dev drwxr-xr-x 2 root 928 11 Jul 85 16:40 /dev/. drwxr-xr-x 11 root 368 20 Aug 85 13:52 /dev/.. c-w--w--w- 2 root 0 21 Aug 85 13:46 /dev/aux1 c-w--w--w- 2 root 0 20 May 85 9:50 /dev/aux2 crw--w--w- 1 root 0 20 Aug 85 13:52 /dev/console ... crw-rw-rw- 1 root 0 18 Aug 82 11:11 /dev/hsix7 crw------- 1 root 0 20 Aug 85 13:52 /dev/kmem -rw-rw-r-- 1 root 1635 11 Jul 85 17:39 /dev/lp c-w--w--w- 2 root 0 21 Aug 85 13:46 /dev/lp1 c-w--w--w- 2 root 0 20 May 85 9:50 /dev/lp2 ... crw--w--w- 1 root 0 23 Jul 85 15:38 /dev/tty7 There is a problem: le expands control characters to '^X', which may cause problems in some cases... le -N is thus not exactly the equivalent of ls -A. This code can be easily changed if this proves a problem. Don't ask me why /dev/lp is a regular file, I didn't create it... :-> Time to go do some sa-type stuff. -- Peter (Made in Australia) da Silva UUCP: ...!shell!neuro1!{hyd-ptd,baylor,datafac}!peter MCI: PDASILVA; CIS: 70216,1076