1UUDEVIEW(1) General Commands Manual UUDEVIEW(1)
2
3
4
6 UUDeview - a powerful decoder for binary files
7
9 uudeview [options] [@file] file(s)
10
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
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
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
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
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
328 uuenview(1), uudecode(1), uuencode(1).
329 The UUDeview homepage on the Web,
330 http://www.fpx.de/fp/Software/UUDeview/
331
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)