1UUDEVIEW(1)                 General Commands Manual                UUDEVIEW(1)
2
3
4

NAME

6       UUDeview - a powerful decoder for binary files
7

SYNOPSIS

9       uudeview [options] [@file] file(s)
10

DESCRIPTION

12       UUDeview  is  a smart decoder for attachments that you have received in
13       encoded form via electronic mail or from the usenet. It is  similar  to
14       the  standard  uudecode(1) command, yet with more comfort and flexibil‐
15       ity.  UUDeview supports the uuencoding, xxencoding,  Base64,  yEncoding
16       and  BinHex  encoding methods, and is able to handle split-files (which
17       have been sent in multiple parts) as well as multiple  files  at  once,
18       thus  greatly  simplifying  the decoding process. Usually, you will not
19       have to manually edit files to prepare them for decoding.
20
21       After invoking uudeview, it will scan all given files for encoded data,
22       sort  them  and their parts and then present you with the list of files
23       that seem like they can be decoded properly. You can  then  pick  files
24       individually for decoding.
25

OPTIONS

27   BEHAVIOR
28       -i     Disables  interactivity.  After  scanning  the files and sorting
29              everything out, the program will not promt  you  for  whether  a
30              file  shall  be  decoded or not, but batch-decodes all available
31              files.  This is the default when reading from standard input.
32
33       -a     Autorename option. If a target file  already  exists,  and  this
34              option  is given, a dot and a unique sequence number is appended
35              to the file name.  I.e., foo.gif becomes foo.gif.1 if decoded  a
36              second time.
37
38       +a     An  alternative  incarnation  of  autorename.  If  a target file
39              already exists, an underscore and a unique  sequence  number  is
40              inserted  into  the filename before the first dot, i.e., foo.gif
41              becomes foo_1.gif.
42
43       -o     Gives the OK to  overwrite  existing  files  when  decoding.  In
44              interactive  mode,  the default is to prompt the user whether to
45              overwrite, rename or skip the file. This option takes precedence
46              over -a.  In non-interactive mode (using -f ), the default is to
47              overwrite files without asking.
48
49       +o     Says it's not OK to overwrite files.  This  is  useful  in  non-
50              interactive mode, so that existing files are untouched. This has
51              lesser precedence than -a.
52
53       -c     Autoclear.  Remove  all  input  files  that  were   successfully
54              decoded.  Use  with  care!  UUDeview only checks if any data was
55              decoded from an input file, but does not care  about  any  other
56              contents  of  that  input  file,  or whether a file also held an
57              incomplete attachment.
58
59       -p path
60              Sets the path where decoded files shall be written to. This must
61              be  a valid pathname, or you'll get errors when trying to decode
62              anything. Defaults to the current working directory.
63
64       -m     Ignore file mode. Uuencoded and xxencoded files have the  origi‐
65              nal  file  permissions  stored  on  the  begin line. Unless this
66              option is given, UUDeview will restore them without checking  if
67              they  are  sensible. With this option, the permissions are reset
68              to a default of 0666.
69
70   TWEAKING
71       -z     Enforces stricter MIME adherance. Normally, the program tries to
72              find  encoded  data even in "text/plain" plaintext parts of MIME
73              messages. With this option given, UUDeview will limit this capa‐
74              bility,  and  will not accept apparently incomplete encoded mes‐
75              sages (for example, seemingly uuencoded data  without  begin  or
76              end  lines).   You can tighten this option even more by using it
77              twice, or by using -z2.  Then, UUDeview will not check plaintext
78              sections  of  MIME  messages  for encoded data at all and behave
79              fully MIME-compliant.  Neither option affects  the  behavior  on
80              non-MIME  input  files. This option needs a better name, but I'm
81              slowly running out of option letters.
82
83       -f     Uses fast mode for file scanning. The program assumes that  each
84              input  file  holds  at  most one part, which is usually true for
85              files in a news spool directory. This option breaks decoding  of
86              input  files with multiple articles. Also, certain sanity checks
87              are disabled, probably causing erroneous files to  be  presented
88              for  decoding.   Sometimes you'll get error messages when decod‐
89              ing, sometimes you'll just receive invalid files. Don't  use  -f
90              if you can't live with these problems.
91
92       -r     Ignore  reply  messages,  i.e. all messages whose subject starts
93              with Re:
94
95       -t     Use plaintext messages. Usually, UUDeview only presents  encoded
96              data  for  decoding.  Plaintext  messages are only shown if they
97              have an associated file name. With this option set, unnamed text
98              parts  from  MIME  messages  and  non-encoded  messages are also
99              offered. Unnamed messages are assigned a unique name in the form
100              of a sequential four-digit number.
101
102       -d     Sets  the program into desperate mode. It will then offer you to
103              decode incomplete files. This is useful if you are  missing  the
104              last  part  of a 50-parts posting, but in most cases the desper‐
105              ately-decoded files will simply be  corrupt  and  unusable.  The
106              degree  of  usefulness of an incomplete file depends on the file
107              type.
108
109       -b     This changes UUDeview's "bracket policy."  UUDeview looks  at  a
110              message's  subject  line,  and  reads numbers in brackets as the
111              part number, as in (3/7), which is read as the third message  in
112              a  series  of  seven.  By default, numbers in parentheses () are
113              preferred over numbers in brackets []. You can change this using
114              either -b or, for clarity -b[].
115
116       -s     Read  "minus  smartness".  This  option turns off automatic part
117              number detection from the subject line. Try this option if UUDe‐
118              view  fails to parse the subject line correctly and makes errors
119              at guessing part numbers, resulting in incorrect ordering of the
120              parts.  With  this option, parts are always put together sequen‐
121              tially (so the parts must be  correctly  ordered  in  the  input
122              file).  Also,  with  this option, the program cannot detect that
123              parts are missing.  Note:  The  correct  part  number  found  in
124              proper  MIME  files is still evaluated.  If this option is given
125              twice, the subject itself is ignored, too, and won't be used  to
126              group  parts.  Use if the messages that the parts come delivered
127              in have different subject lines.
128
129   OTHER OPTIONS
130       -q     (Quiet) Disables verbosity. Normally, the  program  prints  some
131              status messages while reading the input files, which can be very
132              helpful if something should go wrong. Use if these messages dis‐
133              turb you.  Disables progress bars. See -n option.
134
135       -v     (disables  Verbosity)  Disables verbose messages, i.e. notes are
136              not displayed, but does not remove warnings and errors.  Is  not
137              as quiet as the -q (Quiet) option.
138
139       -n     No  progress bars. Normally, UUDeview prints ASCII bars crawling
140              up to 100 percent, but does not check if your terminal is  capa‐
141              ble  of displaying them. Use this switch if your terminal isn't,
142              or if you find the bars annoying.
143
144       +e exts
145              Selects only the files with the given extensions  for  decoding,
146              others  will  be  ignored.  +e .gif.jpg would decode all gif and
147              jpeg files, but not tif or other files. The list  of  extensions
148              works case-insensitive.
149
150       -e exts
151              The reverse of the above.
152
153       You  will  experience  unwanted  results  if  you  try to mix +e and -e
154       options on the command line.
155
156   INPUT OPTIONS
157       file(s)
158              The files to be scanned for encoded files. You can also  give  a
159              single  hyphen  ´-´  to  read from standard input. Any number of
160              files may be given, but there is usually  a  limitation  of  128
161              options  imposed  by the shell. If you are composing the list of
162              files with wildcards, make sure you don't accidentally feed  the
163              program  with binary files. This will result in undefined behav‐
164              iour.
165
166       @file  Makes UUDeview read further options from the file. Each line  of
167              the  file must hold exactly one option. The file is erased after
168              the program finishes. This feature may be  used  to  specify  an
169              unlimited  number of files to be scanned. Combined with the pow‐
170              ers of find(1), entire directory  trees  (like  the  news  spool
171              directory) can be processed.
172
173       Options may also be set in the $UUDEVIEW environment variable, which is
174       read before processing the options on the command line.
175

DECODING

177       After all input files have been scanned, you are asked  for  each  file
178       what  do  do  with it. Of course, the usual answer is to decode it, but
179       there are other possibilities. You can use the following commands (each
180       command is a single letter):
181
182       d      (D)ecode  the  file and write the decoded file to disk, with the
183              given name.
184
185       y      (Y)es does the same as (d).
186
187       x      E(x)tract also decodes the file.
188
189       a      Decodes all remaining files without prompting.
190
191       n      Skips this file without decoding it.
192
193       b      Steps back to the previous file.
194
195       r      Rename. You can choose a different name for the file in order to
196              save it under this new name.
197
198       p      Set  the path where decoded files shall be written to. This path
199              can also be set with the -p command line option.
200
201       i      Displays info about the file, if present. If a multipart posting
202              had  a  zeroeth part, it is printed, otherwise the first part up
203              to the encoded data is printed.
204
205       e      Execute a command. You can enter any arbitrary command, possibly
206              using  the  current file as an argument. All dollar signs '$' in
207              this command line are replaced with the filename of the  current
208              file  (speaking  correctly,  the  name of a temporary file). You
209              should not background processes using this  temporary  file,  as
210              programs  might get confused if their input file suddenly disap‐
211              pears.
212
213       l      List a file. Use this command only if you know that the file  in
214              question is a textfile, otherwise, you'll get a load of junk.
215
216       q      Quits the program immediately.
217
218       ?      Prints a short description of all these commands.
219
220       If  you  don't enter a command and simply hit return at the prompt, the
221       default command, decoding the file, is used.
222

RUNTIME MESSGAGES

224       In verbose mode (that is, if you didn't disable verbosity with  the  -v
225       option),  progress messages will appear.  They are extremely helpful in
226       tracing what the program does, and can be used to figure out the reason
227       why  files  cannot  be  decoded,  if  you understand them. This section
228       explains how to interpret them.   Understanding  this  section  is  not
229       essential to operate the program.
230
231       First,  there  are  "Loading"  messages,  which  begin  with the string
232       "Loaded". Each line should feature the following items:
233
234       Source File
235              The first item is the source file from which a part was  loaded.
236              Many parts can be detected within a single file.
237
238       Subject Line
239              The complete subject is reproduced in single quotes.
240
241       Identifier
242              The program derives a unique identification for this thread from
243              the subject line, for grouping  articles  that  look  like  they
244              belong  to  the  same file. The result of this algorithm is pre‐
245              sented in braces.
246
247       Filename
248              If a filename was detected on the subject  line  or  within  the
249              data  (for  example, on a begin line, or as part of the Content-
250              Type information).
251
252       Part Number
253              The part number derived from the subject line, or, in  the  case
254              of  properly  MIME-formatted  messages, from the "part" informa‐
255              tion.
256
257       Begin/End
258              If a "begin" or "end" token was detected, it is printed here.
259
260       Encoding Type
261              If encoded data was detected within this part, either  "UUdata",
262              "Base64", "XXdata" or "Binhex" is printed here.
263
264       More  messages  are printed after scanning has completed. A single line
265       will be printed for each group of articles. The contents of  this  line
266       are best understood by looking at an example. Here is one:
267
268       Found 'mailfile.gz' State 16 UUData Parts begin 1 2 3 4 5 end 6 OK
269
270       This  indicates  that the file mailfile.gz has been found. The file was
271       uuencoded ("UUData") and consists of 6 parts.  The  "begin"  token  was
272       found  in  the  first  part, and the "end" token was found in the sixth
273       part. Because it looks like everything's there, this file is tagged  as
274       being  "OK". The State is a set of bits, where the following values may
275       be or'ed:
276
277       1      Missing Part
278
279       2      No Begin
280
281       4      No End
282
283       8      No encoded data found.
284
285       16     File looks Ok
286
287       32     An error occured during decoding of the file.
288
289       64     File was successfully decoded.
290

NOTES

292       Because the program cannot receive terminal input when a file is  being
293       read  from  standard  input, interactivity is automatically disabled in
294       this case.
295
296       UUDeview is aware of MIME messages, but normally  ignores  strict  MIME
297       compliance  in  favor  of  finding unproperly encoded data within them,
298       e.g. to succeed when individual parts of a  uuencoded  file  have  been
299       sent  with  a  MIME  mailer as MIME messages. For that, it subjects all
300       "text/plain" parts of a message to encoding detection. You can use  the
301       -z option (see above) for more strict RFC2045 compliance.
302
303       The  scanner  tends  to ignore short Base64 data (less than four lines)
304       outside of MIME messages. Some checks for this condition  are  used  in
305       desperate  mode,  but  they  may  cause  misdetection  of encoded data,
306       resulting in some invalid files.
307
308       Files are always decoded into a temporary file first, then this file is
309       copied to the final location. This is to prevent accidentally overwrit‐
310       ing existing files with data that turns out too late  to  be  undecode‐
311       able.  Thus  be  careful  to  have twice the necessary space available.
312       Also, when reading from standard input, all the data  is  dumped  to  a
313       temporary file before starting the usual scanning process on that file.
314
315       uudeview  tries  to  derive all necessary information from the Subject:
316       line if present.  If it holds garbage, or if the program fails to  find
317       a unique identification and the part number there, uudeview might still
318       be able to decode the file using  other  heuristics,  but  you'll  need
319       major luck then.
320       Yet  this is only a concern with split-files. If all encoded files only
321       consist of single parts, don't worry.
322
323       If you rename, copy or link the program to uudecode, it may  act  as  a
324       smart  replacement  for  the  standard, accepting the same command-line
325       options. This has not been well-tested yet.
326

SEE ALSO

328       uuenview(1), uudecode(1), uuencode(1).
329       The UUDeview homepage on the Web,
330       http://www.fpx.de/fp/Software/UUDeview/
331

BUGS

333       To read a file whose name starts with a  hyphen  '-',  prepend  a  path
334       name, for example './'.
335
336       The checksums found in BinHex data are ignored.
337
338       The  program cannot fully handle partial multipart messages (MIME-style
339       multipart messages split over several mail  messages).  The  individual
340       parts  are recognized and concatenated, and the embedded multipart mes‐
341       sage is "decoded" into a plain-text file, which must then be fed  again
342       to uudeview.  Don't worry, these kinds of messages are rare.
343
344       UUDeview cannot decipher RFC 1522 headers.
345
346
347
348                                   June 2001                       UUDEVIEW(1)
Impressum