UUDEVIEW(1)

NAME
uudeview - a powerful decoder for binary files

SYNOPSIS
uudeview [-i] [-r] [+d] [(+e|-e) extlist]
[-p path] [@file] file(s)

DESCRIPTION
uudeview decodes files that you have received encoded via electronic mail or from the usenet, similar to the standard uudecode(1) command, yet with more comfort and flexibility. uudeview supports the uuencoding, xxencoding and Base64 encoding methods, and is able to handle split-files (which have been sent in multiple parts) as well as multiple files at once, thus greatly simplifying the decoding process. Usually, you will not have to manually edit files to prepare them for decoding.

After invoking uudeview, it will scan all given files for encoded data, sort them and their parts and then present you with the list of files that seem like they can be decoded properly. You can then pick files individually for decoding.

OPTIONS

-i  Disables interactivity. After scanning the files and sorting everything out, the program will not ask for whether a file shall be decoded or not, but immediately batch-decodes everything possible.

-r  uudeview normally ignores emails or postings which are marked as 'Replies' to save memory. Experience shows that replies rarely have useful encoded data. This assumption can be turned off with this switch, which means "do not ignore replies".

+d  Sets the program into desperate mode. It will then attempt to decode incomplete files, to which not all parts have been found. This is useful if you are missing the last part of a 50-parts posting, but in most cases the desperately-decoded files will be simply corrupt and unusable. The degree of usefulness of an incomplete file depends on the file type.

-p path
    Sets the path where decoded files shall be written to. This must be a valid pathname, or you'll get errors when trying to decode anything. Defaults to the current working directory.

+e exts
    Selects only the files with the given extensions for decoding, others will be ignored. +e .gif.jpg would decode all gif and jpeg files, but not tif or other files. The list of extensions works case-insensitive.

-e exts
    The reverse of the above.

You will experience unwanted results if you try to mix +e and -e options on the command line.

file(s)
    The files to be scanned for encoded files. You can also give a single hyphen '-' to read from standard input. Any number of files may be given, but there is usually a limitation of 128 options imposed by the shell. If you are composing the list of files with wildcards, make sure you don't accidentally feed the program with binary files. This will result in undefined behaviour.

@file
    Makes uudeview read further options from the file. Each line of the file must hold exactly one option. The file is erased after the program finishes. This feature may be used to specify an unlimited number of files to be scanned. Combined with the powers of find(1), entire directory trees (like the news spool directory) can be processed.

DECODING
After all input files have been scanned, you are asked, for each file, what do do with it. Of course, the usual answer is to decode it, but there are other possibilities. You can use the following commands (each command is a single letter):

d   (D)ecode the file and write the decoded file to disk, with the given name.

y   (Y)es does the same as (d).

n   Skips this file without decoding it. Note that you cannot step back. If you've skipped files by mistake, the only choice is to start all over again.

i   Displays info about the file, if present. If a multipart posting had a zeroeth part, it is printed, otherwise the first part up to the encoded data is printed.

e   Execute a command. You can enter any arbitrary command, possibly using the current file as an argument. All dollar signs '$' in this command line are replaced with the filename of the current file (speaking correctly, the name of a temporary file). You should not background processes using this temporary file, as programs might get confused if their input file suddenly disappears.

l   List a file. Use this command only if you know that the file in question is a textfile, otherwise, you'll get a load of junk.

r   Rename. You can choose a different name for the file in order to save it under this new name.

p   Set the path where decoded files shall be written to. This path can also be set with the -p command line option.

q   Quits the program immediately without decoding the following files.

?   Prints a short description of all these commands.

If you don't enter a command and simply hit return at the prompt, the default command, decoding the file, is used.

NOTES
Because the program cannot receive terminal input when reading from standard input, the interactivity is automatically disabled in this case.

If you try to decode a file that's already there, you're asked whether you want to overwrite the existing file, skip the file or rename the new file.

Files are always decoded into a temporary file first, then this file is copied to the final location. Thus be careful to have twice the necessary space available. Also, when reading from standard input, all the data is dumped to a temporary file before starting the usual scanning process on that file.

uudeview tries to derive all necessary information from the Subject: line if present. If it holds garbage, or if the program fails to find a unique identification and the part number there, uudeview might still be able to decode the file using other heuristics, but you'll need major luck then.
Yet this is only a concern with split-files. If all encoded files only consist of single parts, don't worry.

If you rename, copy or link the program to uudecode, it may act as a smart replacement for the standard, accepting the same command-line options. This has not been well-tested yet.

SEE ALSO
uuenview(1), uudecode(1), uuencode(1),

The uudeview homepage on the Web,
http://www.uni-frankfurt.de/~fp/uudeview/

BUGS
Some unexpected conditions, like "disk full" aren't handled very gracefully.

The Base64 standard doesn't enforce a particular line length, but uudeview will not decode files with line lengths that aren't a multiple of four. There are no known files of that kind.

Before reporting a bug, make sure the file can be decoded by other means. I hate to receive bug-reports where it turns out that uudeview just failed to decode complete garbage.