FREEZE - maintain a file containing many compressed files.
Syntax:
Format 1:
freeze Update=frzfile [name<infile]* [option]*
Format 2:
freeze frzfile [INclude=infile[,infile]*] [option]*
(+|-)Clear (-) (+|-)Table (-)
Delete=name[,name]*
Print=name[,name]*
Extract=freezename[>path][,freezename[>path]]*
Rename=oldname,newname
Examples:
free /frosty p=snow
free u=/frozen d=oldy
free u=/wizards rn=id,oz e=oz>/wondrous/wizards
free u=newfile +c shorty</a.long.name +t
free /frz_stuff in=/hacks,/notes in=frodo/elfmaids +c
Options:
- Update=frzfile
- identifies a freeze file. If the freeze file does not
exist, it will only be created if the "+Clear"
option is specified. Unpredictable errors will result if
the specified file is not a proper freeze file.
- frzfile
- is an alternate way to specify a freeze file.
- INclude=infile[,infile]*
- lists a number of files to be put into the freeze files.
If any of these input files have the same name as an
element that is already in the freeze file, the new input
will replace the old contents of the element. Input files
whose names do not match existing elements in the freeze
file will be appended to the freeze file as new elements.
The "INclude=" option may be used with command
line Format 1 if desired.
- name<infile
- puts the contents of "infile" into the freeze
file under the given "name". If
"name" already exists in the freeze file, the
contents of "infile" will replace the old
contents of "name". If "name" does
not already exist, the contents of "infile"
will be appended to the freeze file under the given
"name".
- +Clear
- initializes a freeze file by clearing it.
"+Clear" is required when creating a new freeze
file.
- Delete=name[,name]*
- deletes the named element(s) from the freeze file. An
error is issued if the freeze file does not contain
elements of the given name(s).
- Extract=name[>pathname][,name[>pathname]]*
- unfreezes an element and puts it into the file with the
given pathname. If no pathname is given, FREEZE creates a
temporary file with the same name as the element being
extracted.
- Print=name[,name]*
- unfreezes the given file and prints it to the standard
output (i.e. the terminal unless redirected with a
">file" construct).
- Rename=oldname,newname
- renames an element. "oldname" must be the name
of some element in the freeze file.
- +Table
- produces a verbose listing of the contents of the freeze
file.
If FREEZE is called with no options or input files, a terse
list of the contents is given.
Description:
The FREEZE command is used to maintain freeze files. Freeze
files are similar in some ways to subcatalogs in the file system.
The major advantages of freeze files over subcatalogs are:
- File space is saved, especially if you have many small
files. For example, several small files each using only a
fraction of a Llink may be put into a freeze file having
fewer total Llinks.
- Characters are packed five per word instead of the usual
four, giving real data compression.
- The files are conveniently organized, and the FREEZE
command makes it easy to get your information in and out
of the freeze file.
The major disadvantage is that the files cannot be accessed
easily by programs; the files must be unfrozen before they can be
accessed. A classic example of a good use for freeze files is
storing the source code for a user library or an h* file.
Files are normally frozen under the last name in their
pathname; for example, "jsmith/cat/myfile" would be
frozen into an element named "myfile". To freeze a file
under a different name, use the construct
element<pathname
on a command line using Format 1. A ";" may be used
in place of the "<".
Elements in a freeze file are normally unfrozen into temporary
files which have the same name as the element. For example,
"ex=source" on the command line would extract the
contents of the element "source" and put the unfrozen
result into a temporary file named "source". To
unfreeze an element into a file with a different pathname, use
ex=element>pathname
A ":" may be used in place of the ">".
The names of elements in a freeze file must be eight
characters long or less. If no element name is given and the
input file name is longer than eight characters, the element name
will be the file name truncated to eight characters.
Options may appear in any order on the command line, but they
are processed in a particular order. Clearing is done first, then
any deleting and renaming (in the order they appear), then
updating (freezing new files), then printing and extracting, and
finally outputting the table. For example, you cannot append a
new file and then delete it in the same command call.
The message
FREEZE: 'file' is no longer a freeze file
means that you have deleted every file in a freeze file, and
that the next attempt to use that file as a freeze file will fail
unless the "+Clear" option is used.
Known Bugs:
- Element names are restricted to eight characters.
- The message "...non-ascii..." means that
certain ASCII control characters cannot be frozen due to
the convention used for character packing.
- Linefeeds (octal 012) may be frozen without carriage
returns, but will be accompanied by carriage returns when
unfrozen.
- Lines longer than 255 characters will not be frozen
properly.
Files Used:
fc*fz - temporary freeze file image
Copyright © 1996, Thinkage Ltd.