If no string, -e, -F, or -S option is given, every file on the tape is processed. Otherwise, every file with a name that either contains string ..., matches (as in ed(1)) the regular expression expression, or is selected by the -S and -F options will be processed. The last two options are used to select files by saveset number and file number. This is useful when extracting from an archive tape. The most-recently specified saveset number is associated with the specified file numbers. The TOPS-20 filenames are lowercased before any matching. Note that string is not a generalized pattern, but is just a simple string that is matched against all the characters in the filenames. Special characters (such as '\<' and '\>') must be quoted to get past the shell.
The UNIX filename of an extracted file is generated from the TOPS-20 filename by stripping off the device name, translating the TOPS-20 directory syntax to a relative directory in UNIX format, and stripping off the generation number, unless the -g flag is given. Directories will be built as needed with protection 775, but any existing directory or its contents will not be changed (unless an extracted file replaces one of the same name).
The directory listing prints out for every file
-- a ``flags'' field which indicates if the file is archived (A), offline (O), or invisible (I)
-- the size in TOPS-20 pages (for offline files the size before archiving)
-- the number of bytes in the file
-- the bytesize (number of bits per byte) of the file
-- the octal TOPS-20 file protection
-- the time and date the file was last modified
-- the full pathname of the file.
If the -v flag is given, two additional fields are printed at the left:
-- the saveset number
-- the file number
Read20 only extracts text files and 8-bit files. In text files, unless the -c flag is given, carriage returns preceding linefeeds are removed. The file length as printed by the `t' option is not adjusted to account for this. Read20 decides whether or not a file is text by examining the bytesize of the file. If the file has 7-bit bytes, it is assumed to be a text file. If it has 8-bit bytes, it is extracted at 4 bytes/word, including null bytes. If the file has any other bytesize, requests to extract it are ignored.
Occasionally, text files have a bytesize of 36 or 0 instead of the proper bytesize of 7. The -T flag forces these files to be considered as text files.
Alternate tape devices or files may be specified with the -f flag. The special filename `-' signifies the standard input.
On non-Berkeley Unix systems, name collisions can occur when the first 14 characters of extracted files are the same. If this is the case, use the -n option. This will cause the Unix filenames to be numeric, starting with the number following the -n. The mapping from the original TOPS-20 to the numeric Unix filenames is written to the file `` in the current directory.
Jay Lepreau, University of Utah