home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 500-599 / ff513.lzh / NewList / NewList.doc < prev    next >
Text File  |  1991-07-20  |  20KB  |  426 lines

  1.  
  2.                                 NewList 5.0a
  3.                           (too good to be GNUlist!)
  4.                                      by
  5.  
  6.                                  Phil Dietz
  7.                                  PO Box 306
  8.                               Yutan, Nebraska
  9.                                    68073
  10.  
  11.                                  21-Jun-91
  12.  
  13.       This is TuitionWare.  Send some bucks to help me get through college.
  14.     (It's only a buck.  It's not like $35.00 that some dingos ask for.
  15.     
  16.     "What!  You expect Jack Radigan to send FREE updates for a measly
  17.        $35.00!  You have to be kidding!"  -- many USENET posters
  18.  
  19.     Forget them.  I care for my customers.  No matter how much you give,
  20.     no matter how far away you live, I'll send you updates!  I ain't no
  21.     fogey stogey author getting rich.  BTW (by the way), I think Jack
  22.     is going to be on "Life Styles of the Rich and Famous" next month.
  23.     
  24.                SUBLIMINAL HINT:    B     U     C     K    S
  25.  
  26.        Oh yeah.  Spread this mother too!  Upload it to your favorite BBS.
  27.     Upload it to GENIE, Compu-Serve, etc.  Offer it to your User Group
  28.     for inclusion.  Spread it like those lamey viruses seem to do.
  29.     NOTE:  all documentation must accompany newlist.  With exception to
  30.            Fred Fish, all commercial PD disk makers must notify me of
  31.            my inclusion (you won't be denied though).
  32.  
  33. What is Newlist?
  34.  
  35.        AmigaDOS is great.  It not only allows you to manipulate files
  36.     graphically VIA workbench, but it also allows you to manipulate
  37.     files on a command line basis.  Commodore utilized the command
  38.     line interface by offering powerful commands to help the user
  39.     do what he wants to do.  One of the handiest is LIST.  It not only
  40.     gives a directory listing of names, but also offers filesizes, file
  41.     protection, and file creation.
  42.    
  43.        But LIST isn't perfect.  It doesn't offer much sorting.  It doesn't
  44.     offer much customization.  It doesn't allow name filters.  It doesn't
  45.     offer much flexibility or power.  TRUE, LIST is small, but
  46.     sometimes POWER comes first.
  47.  
  48. What does that mean?
  49.  
  50.        NewList offers the SPEED of list, and the POWER of a database.
  51.     Now directories can be sorted not only by name, but also by size or
  52.     date.  Now directories can be sorted through an alphabet filter
  53.     so only certain files will be shown (like D through G).  A quick
  54.     option has been added to utilize the screen space, so no more
  55.     2 column output by MR. dir.  Are you tired of the date format?
  56.     Want to customize your print format?  Now you can create your own!
  57.     Newlist offers complete customization of output, powerful manipulation
  58.     and sorting of files, many nice and thought out options, and much
  59.     much more.
  60.  
  61. Ain't it like LS?
  62.  
  63.        Well sorta.  LS and LS-jr are very good LIST replacements.  They
  64.     are quick and offer UNIX compatibility.  Newlist is JAM PACKED with
  65.     options.  The best of ls, the best of dr, the best of list, and bunches
  66.     of special features are all put in one package.  With NewList, the user
  67.     is given processing power.  You can sort a directory the way YOU want it.
  68.  
  69.        Newlist was designed to be quick and offer all the MEAT commands
  70.     most CLI users need.  From the ground level on up, newlist was
  71.     optimized and new features were designed to be their quickest.
  72.     Fast flexible file manipulation, nice powerful customization,
  73.     and all those extra 'goodies' were melded into one.
  74.  
  75.  
  76. Features of NewList:
  77.  
  78.    1)  It's PURE!  NewList is REALLY quick if it's resident.
  79.    2)  Very fast algorithms.
  80.    3)  Completely dynamic.
  81.    4)  Tons of sorts and filters (including the needed BY DATE!)
  82.    5)  Full UNIX WILDCARDs (n*l*s? = newlist) and character filtering.
  83.    6)  ANSI.
  84.    7)  a slick multi-columnar quick option to utilize screen space.
  85.    8)  ENV: support!
  86.    9)  A slick date construction kit with 8 premades.
  87.   10)  Print construction kit with 2 premades (ls-jr and list)
  88.   12)  Fast non-recursive recursive directories!  (a mouthful ain't it)
  89.   13)  Multiple paths.
  90.   14)  A hunt mode.
  91.   15)  Tons and Tons and Tons O' Flags and Switches!
  92.  
  93.  
  94. Usage:  NewList ?
  95.  
  96. NewList  5.0a  by  Phil Dietz  NCEMRSoft
  97. NewList [FLAGS ie. -q -v] <paths and UNIX wildcards>
  98.  
  99.        o  Overlook ENV:NEWLIST          a  Don't use Today, Yesterday, etc.
  100.        b  Display blocks                k  Display diskkeys
  101.   d0...7  Eight date/time formats      df  "string" Custom date.  See docs
  102.        r  Display list in reverse       n  Display comments
  103.        s  Sort by name                 ss  Sort by file size
  104.       sd  Sort by date                 sc  Sort by comment
  105.        h  No header                     i  Ignore .info files
  106.       gd  Show ONLY dirs               gf  Show ONLY files
  107.       gb  Show BOTH dirs/files grouped  u  Show DEVICE: usage info
  108.       fA  Files start with A           tZ  Files go to Z
  109.        c  CASE sensative with -f -t     z  C= list style directories
  110.        q  Quick option                 qs  Quick option with file sizes
  111.        v  Vertical sort quick columns   p  Page prompt when screen is full
  112.      y #  Use # columns for quick     l #  Show files made in last # days
  113.      x #  Max # dir-levels to enter     T  No totals
  114.        R  Enter sub-directories         W  Enter uses wildcard on ALL levels
  115.        H  Hunt for files on disk        Q  No system requesters
  116.        F  Custom format string " %p %U %d %b %k %s %v %c %C %N %n %P \nte "
  117.  
  118. NOTE:  each flag must have a - identifier.  ie  -q -sd -i -z -l 20 -F "%P"
  119.  
  120.  
  121. FLAGS IN DEPTH:
  122.  
  123.    [-o]   When you want to OVERLOOK the ENV:NEWLIST variable.  Using
  124.           [-o] (or any another overriding flag) yields the normal
  125.           print-as-being-read format.  This print-as-being-read format
  126.           can be helpful for checking what order some programs will
  127.           process files ['GIFFY' displays GIFs in this order]
  128.  
  129.    [-a]   Forgets about the TODAY, YESTERDAY, bologna.
  130.  
  131. [-b] [-k] Instead of the default display of filesize, newlist will
  132.           instead display BLOCKS or DISKKEYS respectively.
  133.  
  134. [-d0...7] Eight different pre-made date formats ranging from the
  135.           fully expanded 1st grade letterhead (Friday, November 9, 1990,
  136.           05:30:24 PM), to the default LIST format, to Euro-Styles to slashes,
  137.           dots and dashes, to DateStamp values (Handy for programmers!).
  138.  
  139.   [-df]   Allows you to create your own Date format.  The format is
  140.           -df "DATE STRING".  Here are the flags available:
  141.  
  142.             y => year minus 1900
  143.             Y => full year value
  144.             m => month value as integer
  145.             M => month name
  146.             d => day of month (1..31)
  147.             D => day name ("Monday".."Sunday")
  148.             h => hour in twenty-four hour notation
  149.             H => hour in twelve hour notation
  150.             i => 12 hour indicator for H notation (AM or PM)
  151.             I => same as i
  152.             n => minutes    (sorry...conflict with m = months)
  153.             N => same as n
  154.             s => seconds
  155.             S => same as s
  156.             t => prints TODAY, YESTERDAY, or Day of the week if applicable.
  157.                  If the file doesn't fall in the last week, it will be
  158.                  blank.
  159.             T => Two must be present.  Mark off block which will be
  160.                  substituted with today, yesterday, if applicable.
  161.                  If not applicable, it will process the inner block.
  162.                  (ie  -df "Date: %T%3M %2d%T" will sometimes print
  163.                      Date: Today  or  Date: Mar 16)
  164.             Z => Abbreviated Day Name [Mon, Tue, etc.]
  165. \n, \t, \e, \'=> Newline, tab, escape key, or quote ".  \e can be used 
  166.                  to make neat ANSI sequences.  See aliases 'color'.
  167.  
  168.                        Make a C string like printf.
  169.                -df "Date: %02d-%M-%02y at %02h:02n:02s" 
  170.  
  171.                                 yields
  172.                       Date: 11-Jan-90 at 01:03:20
  173.  
  174.                        It's Easy.  It adds spice.
  175.  
  176.   [-r]    Displays a list in REVERSE from top to bottom.  WHY?  
  177.           Instead of waiting for the whole list to scroll by to see a
  178.           file at the bottom, you can reverse the list and ctrl-c to
  179.           stop quick!  It's also handy when sorting by date.  All of
  180.           the newest files will be displayed first.
  181.  
  182.    [-s]   Sorts files alphabetically.  A synonym is [-sn].
  183.  
  184.   [-ss]   Sorts files by file size (or blocks or keys).
  185.  
  186.   [-sd]   Sorts files by date of creation.  Very handy!!
  187.  
  188.   [-sc]   Sorts files by comments.  If you use FileNotes wisely, you can
  189.           have your directories be grouped by file type.  Simply
  190.           add a filenote to each file and give it a type (Picture, GIF,
  191.           Utility, NoiseTracker, etc.)  Now when you view by [-sc],
  192.           the files will be grouped together by type!  You can also use
  193.           the included alias 'dirtype' which will display the filetype 
  194.           in a nice position.
  195.  
  196. [-gd|-gf] Groups the display so ONLY dirs or ONLY files are shown
  197.           respectively. Similar to 'dir dirs' or 'list dirs'
  198.  
  199.   [-gb]   Shows BOTH directories and files, all dirs then all files.
  200.           Output is similar to DIR.
  201.  
  202.    [-u]   Shows bytes FREE and bytes USED on disk.  Now you can get
  203.           all your needed info with one command instead of a "dir
  204.           list info" combo.  Note: due to RAM:'s variable size,
  205.           the bytes free will be zero.
  206.  
  207.    [-n]   Do you hate seeing those huge FILENOTES destroying your
  208.           directory list?  This flag will toggle if you want to see them.
  209.           If not present, a simple "Comment" or "c" will be shown to tell
  210.           you "hey mister, you can read me if you wanna."
  211.  
  212.    [-h]   Doesn't display the header file.....ohhhhh.....big deal!
  213.           Well it does seem off place in the -q quick directory, so
  214.           it might help.  Another LIST option (holy cow!)
  215.  
  216.    [-c]   When using the letter filters [-f -t], this flag will also take 
  217.           into affect the CASE of the filter letter.  So now only upper or
  218.           only lower case files can be displayed.
  219.  
  220.           NOTE: [-fA] or [-tZ] MUST be set to an alphabetic character
  221.                 to utilize case sensativity!  The default letters are
  222.                 SPACE and DEL, so [-c] will not work unless you change 
  223.                 one of them!
  224.  
  225.   [-fA]   The MINIMUM letter for the filter.  Let's say you only want to
  226.           view files greater than or equal to t.  Just set -ft.  Very
  227.           handy for printing lists where you left off.
  228.           Remember -f as  FROM A
  229.  
  230.   [-tZ]   The MAXIMUM letter for the filter.  Only files less than or equal
  231.           to the letter will be shown.  To see files h through l 
  232.           Just set   -fh -tl.
  233.           Remember -t as TO Z
  234.  
  235.    [-i]   Ignore *.info files!
  236.  
  237.  [-l #]   Show files made in the last # days.
  238.           Now you can view files that were made in the last two weeks
  239.           without viewing a whole directory. (ie nl -l 14)
  240.  
  241.  [-y #]   Force # columns for [-q] quick option.  Use this option when
  242.           re-directing the output to a WIDE printer.  ie. to utilize a
  243.           printer with 20 pitch type, use  nl >prt: -q -y 9 dh0:
  244.  
  245.    [-q]   Gives a QUICK and easy listing of the directory.  The entire
  246.           screen will be utilized and multi-columns will be created.
  247.           Names will be white, and directories will be another color.
  248.           Because of its simplicity, not all of the flags are usuable.
  249.           (like -df etc.)
  250.  
  251.   [-qs]   Quick option WITH file-sizes!  A very very handy option very
  252.           similar to DIR opt s, but with multi-columns.  Note: if you'd
  253.           rather see blocks or keys instead, add -b or -k  (nl -qs -b)
  254.  
  255.    [-F]   Allows designing of custom print format.  Now you can design the
  256.           way YOU want the output to be.  Here are the flags supported:
  257.  
  258.                %b  -  block size
  259.                %c  -  micro-comment 'c' if filenote available
  260.                %C  -  'Comment' if filenote available
  261.                %d  -  Date (this date can be constructed with -df!)
  262.                %k  -  disk key
  263.                %n  -  file name
  264.                %N  -  filenote
  265.                %p  -  show protection bits
  266.                %P  -  file name with complete path
  267.                %s  -  file size
  268.                %v  -  variable output.  Depends if [-b] [-k] or [none]
  269.                        are used.
  270.                %U  -  UNIX protection bits.  Adds d for dirs and l for links
  271.                        Routine distinguishes directory and file links,
  272.                        but not SoftLinks since they can be either!
  273.    \n, \t, \e, \'  -  Add newline, tab, escape charater, or quote ".  These 
  274.                       sequences may be used to create neat ANSI stuff.  Check
  275.                        out an example in 'aliases'.
  276.  
  277.                       Here is a UNIX ls format example
  278.              -F " %U %c %4b  %7s %d %n" -df "%M %2d %02h:%02n"
  279.  
  280.           Custom print formats also allow easy batch script making!
  281.           This format will make a script file test.script that will
  282.                    copy all *.c files in current dir to ram:
  283.  
  284.                    nl >test.script -F "copy %n to ram:" *.c
  285.  
  286.           This format will make a script file test.script that will
  287.                 copy ALL files made in the last 2 days to df1: 
  288.  
  289.                    nl >test.script -l 2 -R -F "copy %P to df1:" *
  290.  
  291.                    So ya still like LS?  Take off, ya hoser.
  292.          
  293.    [-p]   Turns on pagnation.  When each the screen fills, a prompt
  294.           will be put up so you can read all the files before they fly by!
  295.           Press return to continue.  To break the list enter q or quit or
  296.           quintessential-list-replacement.....anything with a q. :-)
  297.  
  298.    [-R]   Now non-recursively enters subdirectories.  What is non-recursive
  299.           recursion?  Simple.  My stack is kept track by me and not by the
  300.           system.  My stack doesn't waste the precious system stack,
  301.           therefore it can handle the standard 4000 bytes.
  302.  
  303.           ie.   nl -R -l 1 dh0:    will show all files made since yesterday!
  304.  
  305.           [-R] should be used when you want to see ALL the contents of
  306.           subdirectories.  It's similiar to OPT ALL on dir.  Note:
  307.           wildcards affect only the root level with [-R] whereas
  308.           wildcards affect EVERY level with hunt mode [-H].
  309.                      ie    nl [-R|-H|-W] dh0:c*    will list
  310.  
  311.                use [-R]                           use [-H]
  312.              candy/snickers                     candy/chocolate
  313.               Cars/datsun                        cars/cadillac
  314.               Cars/cadillac                    drinks/coffee
  315.               Cars/yugo                        lemons/cray-computer
  316.  
  317.  (all files in dirs starting with c)(only files starting with c in all dirs)
  318.  
  319.    Note:  WB2.0 allows links.  Since I don't have WB2.0 to test them, I
  320.           made newlist not enter linked directories.  As soon as I obtain
  321.           WB2.0, I will add link traversals.
  322.  
  323.    [-W]   Will exclusively use wildcard to match files and sub-directories
  324.           on EVERY level.  Default mode for [-R] is to use wildards only 
  325.           on the root level.  Now ONLY files matching wildcard will be shown
  326.           and ONLY subdirectories matching wildcard will be entered.
  327.  
  328.                                  use [-W]
  329.                               candy/chocolate
  330.                                cars/cadillac
  331.  
  332.             (Only files starting with c in dirs starting with c)
  333.  
  334.           [-W] is the method that ls uses- enter only dirs matching pat
  335.  
  336.    [-H]   Hunt files down.  Will recursively enter subdirectories, but 
  337.           will enter all directories regardless of wildcards, etc.  Why?
  338.           Now let's say you want a list of all 'c' files on your harddisk.
  339.  
  340.                            Simply  nl -H dh0:*.c
  341.  
  342.           Besides matching wildcards, [-H] will also accept the other
  343.           conditional flags (like -f -i -l etc.)
  344.           Now you can list all capitalized *.info files on your harddisk...
  345.  
  346.                          nl -H -fA -c dh0:*.info
  347.  
  348.           [-H] enters every directory it finds (up to -x #) levels and
  349.           tries to match corresponding files.
  350.  
  351.  [-x #]   Tells to enter only # subdirectories.  Otherwise it will enter
  352.           every sub-directory it will find.  Use with [-R and -H]
  353.  
  354.  <paths>  the directories to view.  You can view as many directories at once
  355.           as you like.  Simple add it's path.  Wildcards are supported.
  356.           (Yes, UNIX style and yes, complex.   ie.  *ew?is*  = newlist)
  357.           Each new path may have a totally different wildcard 
  358.           [ie newlist ram:*.c df0:*.lzh c:d?r df1:]
  359.           Paths will be entered from right to left.  
  360.  
  361.  
  362.     All of the flags and paths can be used in any order.  
  363.       newlist dh0:*.c -s -r df1:*.o =  newlist -r dh0:*.c df1:*.o -s
  364.  
  365.     All of the flags can be used together (-q has exceptions):
  366.       You can view a directory through a case sensative character filter,
  367.       of files made in the last 2 weeks, sorted by date in reverse order,
  368.       showing block size , with a custom dateformat string, custom
  369.       print string, hiding .info files, paging, using a UNIX wildcard,
  370.       etc. etc.
  371.  
  372. Environment Variable support:
  373.  
  374.       ENV: variables are NOW supported.  Now long customized argument 
  375.    lists can be spared!  The variable ENV:NEWLIST contains any flags
  376.    you want to have automagically set upon initializing newlist5a.  To 
  377.    utilize the ENV: support, use ED and create ENV:NEWLIST by 
  378.    typing in the flags you want to have default (ie. -r -sd). Easy.
  379.  
  380.       With ENV: comes a diminished return.  Now if you want the standard
  381.    'list' type display (files out of order and displayed as they are read)
  382.    , then the [-o] option must be used.
  383.   
  384.    NOTE: to override the ENV:NEWLIST, you can enter [-o] or you can type
  385.          any different flag.  Suppose  ENV:NEWLIST is "-r -sd -d3",
  386.          to sort by size:    nl -o -ss    or simply    nl -ss
  387.  
  388. Easier wat to Create ENV: variables:
  389.  
  390.       Make sure ENV: is assigned to a permanent directory.  Now use the 
  391.    Commodore supplied command setenv.  Here is ENV:newlist setting:
  392.  
  393.                      setenv  newlist  "-sd -u -i -gb -a"
  394.  
  395. Tired of ENV: not being read?
  396.  
  397.       Do you want to add just one more flag to ENV: (like -i or -p), but 
  398.     find out that ENV: is ignored all together?  The solution is to create
  399.     aliases.  Aliases will guarentee that certain flags will be set no matter
  400.     what "extras" you give it.  I have included some basic ones in the file,
  401.     'Aliases'.  Append it to s:Shell-Startup.  Now when you want to add
  402.     paging and list reversal to an ls-style dir, enter ls -p -r.
  403.  
  404.  
  405. ~~~~~~~~~~~~~~~~
  406.  
  407. Comments:  First off.  Rename newlist to nl (for newlist), stick it in
  408.            your c: directory, and PURE it (protect c:nl +p).  People use 
  409.            names that are short and you know that you want to type nl 
  410.            instead of newlist.
  411.  
  412.            Now edit your Startup-Sequence to make nl RESIDENT upon bootup.
  413.            (add  RESIDENT c:nl PURE or ARES c:nl, depending if you use 
  414.            Workbench or ARP)
  415.  
  416.            Enjoy.  Keep in mind: this is a very useful tool.  A tool that
  417.                    costs only a few dollars.  It's a blue light special :-)
  418.  
  419.            Bare with me if Newlist doesn't like your set-up.  Please
  420.            write me if you encounter any bugs or heinous crashes.
  421.  
  422.                            Phil Dietz -- NCEMRSoft
  423.                            PO Box 306
  424.                            Yutan, Nebraska 68073
  425.                            USA
  426.