[comp.sys.apple] More NuARC stuff

fadden@cory.Berkeley.EDU (Andy McFadden) (08/18/89)

Okay, I haven't heard much of anything, so I'm going to assume that everything
I'm planning to do is hunky-dory.

I've made a few additions; what follows is the section of the manual that has
changed.  Of interest is the 'P' option, which allows you to view files
without having to extract them into a file first.


-- 
fadden@cory.berkeley.edu (Andy McFadden)
...!ucbvax!cory!fadden

*****

New Features/Bug Fixes

+ suboptions are allowed, including verbose output while performing
archive operations.
+ extract works properly with multiple arguments.
+ automatically determines the machine's byte ordering.
+ various suboptions added to add and extract (including Move option).
+ P)rint option added.


How to Use NuARC

Usage: nuarc option[suboption] archive [filespec1] [filespec2] [...]

"option" is a single character, as specified below.
"suboption" is one or more characters, which modify the performance of
the option (see each specific option).
"archive" is the name of a NuFX archive.  It doesn't need to exist for
the add, create, and move options.

The option/suboption string may be entered in upper or lower case, and
may be preceeded by a hyphen (ex: "nuarc -XT ..." is equivalent to
"nuarc xt ...").  Under APW, both the archive filename and all file
specifications relating to DISK files are expanded (device names,
wildcards, etc).  The filenames of files in the ARCHIVE are not
expanded.

Examples:
$ nuarc av foo.shk file1 subdir/file2
Adds "file1" and "subdir/file2" to "foo.shk", listing each file as it
is archived.
$ nuarc mv foo.shk =.doc    (APW)
$ nuarc mv foo.shk *.doc    (UNIX)
$ nuarc mv foo.shk *.doc    (MS-DOS)
Adds all files with the suffix ".doc" to the archive "foo.shk",
listing them as it goes, then deletes them.
$ nuarc d foo.shk work/
Deletes all files in "foo.shk" that start with "work/"; this would
likely be used to delete all files archived from the directory "work".
No output is produced.


The various options are:

*** Add/Append files:
    nuarc A[V][U | C<value> | S<value>] archive files
Quickly appends the specified files to the end of the archive.  This
option does not scan the archive to see if the files already exist,
and does not create a new archive file.  This option corresponds to
A)dd files on the ShrinkIt menu.

If you add files from the current directory or a subdirectory of the
current directory, then the entire partial pathname is stored (ex:
"nuarc av fubar.shk foo/bar/filename" will store "foo/bar/filename" in
the archive "fubar.shk.")  If you add files from directory that is not
a subdirectory of the current directory, only the filename will be
stored (ex: "nuarc av fubar.shk ../zip/bang/filename" will store
"filename" in the archive).

Wildcards are allowed, and subdirectories are automatically expanded.
The V suboption displays the filenames as they are added.

The U suboption adds a file without compressing it.  The C suboption
allows you to insert a file in the archive with a specific compression
algorithm (specified by the argument "value", which must immediately
follow the suboption - no spaces between.  Ex: "nuarc ac0v fubar.shk
file1" would store "file1" in "fubar.shk" without compressing it).
"value" corresponds to the appopriate thread_format as specified in
the NuFX documentation.  The following are defined: 0 = uncompressed,
1 = SQueezed (sq/usq), 2 = Dynamic LZW (ShrinkIt).

The S suboption does not compress the file, but will store it as if it
were by setting the thread_format field to "value."  One use for this
is adding compressed files without having to uncompress them first
(ex: "nuarc ac1 foo.shk file1.qq" adds a squeezed file).  This option
could conceivably cause a NuFX extractor to crash; please don't use it
unless you are sure of what you are doing.

Only one of U, C, or S may be specified.


*** Binary II Operations
    nuarc B[V] archive
    nuarc B[X] archive archived-files
The V suboption allows you to view Binary II archives.  The X
suboption extracts the named files from the archive, unsqueezing them
if necessary.


*** Create Archive
    nuarc C[V] archive files
This is identical to the A option, but the "creating archive" message
is suppressed.


*** Delete from Archive
    nuarc D[V] archive archived-files
Deletes the named files from the archive.  NuARC scans the archive,
marking all records that start with the characters in the file
specification (case-independent).  If all files are marked for
deletion, then the archive file itself is deleted.  Otherwise, a new
archive is created, the unmarked records are transferred, and the old
archive is deleted.  An error during this process will leave the
original archive unmodified.

Note that this does not require an exact match; "nuarc d fubar.shk
foo" will delete "foo", "Foozle", "food/recipies" and "food/stock."
The V suboption prints the list of marked records.


*** Freshen Archive
    nuarc F[V] archive files
Updates files in the archive, but doesn't add any new files.  Creates
a new archive file, and either transfers the old record or adds the
file depending on which is more recent.  Only exact filename matches
are allowed (case-independent), including partial paths.

Wildcards are allowed, and subdirectories are automatically expanded.
The V suboption displays the filenames as they are added.


*** Integrity Check
    nuarc I[V] archive
Verifies that the archive is intact.  Does not modify the archive in
any way, or produce output other than to the standard output.  The V
suboption prints a list of CRCs for each record (this is different
from those listed by the Z option, which are only for the record
headers, threads, and filename).


*** Move Files to Archive
    nuarc M[V] archive files
This is identical to the A option, but the files are deleted after
they are added to the archive.  Note that subdirectories are NOT
deleted.


*** Print an Archived File
    nuarc P[T] archive files
Print the contents of an archived file without extracting it.  Useful
for viewing archived text files without having to actually unpack
them.

The T option will perform a text substitution as it works: if on a
UNIX system, it will convert CR to LF; otherwise, it will convert LF
to CR.


*** Table of Contents
    nuarc T archive
This lists only the filenames of the archived files.  Not only does
this make it easier to view the archive contents (the ShrinkIt output
format is about 20 characters wide; this is 80), but the output is
suitable for transmission via a pipe to other utilities.


*** Update Archive
    nuarc U[V] archive files
Updates files in the archive, keeping the archived file or the file
listed on the command line, whichever is most recent (or exists).
Creates a new archive file, and either transfers the old record or
adds the file.  Only exact filename matches are allowed
(case-independent), including partial pathnames.

Wildcards are allowed, and subdirectories are automatically expanded.
The V suboption displays the filenames as they are added.


*** Verbose Archive Listing
    nuarc V archive
Lists the archive contents in a format indentical to that used by the
ProDOS 8 ShrinkIt L)ist archive contents option.


*** Author Info
    nuarc W
Gives a brief listing of contributors, and how to contact me.


*** Extract from Archive
    nuarc X[V][T][U] archive [archived-files]
    nuarc E...
The X and E options are synonymous.  Extract the archived-files from
the archive.  If the file already exists, you are asked if you want to
overwrite it.  If part of a partial pathname does not exist, the
subdirectory will be created.  Omitting the "archived-files"
specification will cause the entire archive to be unpacked.

When files are archived, a pathname separator is stored (e.g., "/" for
ProDOS and UNIX, "\" for MS-DOS, ":" for Mac HFS).  During extraction,
the pathnames are broken down into component file names, converted to
names legal under the current operating system, and then recombined
using the pathname separator for the current OS.  This facilitates
extraction of files archived under any OS, but can lead to filename
conflicts that didn't exist when the files were added.

Note that this does not require an exact match; "nuarc d fubar.shk
foo" will delete "FOO", "Foozle", "food/recipies" and "food/stock."
This makes it possible to extract entire subdirectories at a time.
The V suboption prints the list of marked records.

The T option will perform a text substitution as it extracts: if on a
UNIX system, it will convert CR to LF; otherwise, it will convert LF
to CR.  Expanding LF into CRLF (IBM) is more difficult and will not be
implemented in this version.

The U option will extract the files without uncompressing them.  This
is rarely useful, but is easy to implement and is present for the
curious.

*****

UD161733@VM1.NODAK.EDU (Mike Aos) (08/18/89)

OK, sounds great.  So where can I get a copy?

Osiris