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.
134
135 -n No progress bars. Normally, UUDeview prints ASCII bars crawling
136 up to 100 percent, but does not check if your terminal is capa‐
137 ble of displaying them. Use this switch if your terminal isn't,
138 or if you find the bars annoying.
139
140 +e exts
141 Selects only the files with the given extensions for decoding,
142 others will be ignored. +e .gif.jpg would decode all gif and
143 jpeg files, but not tif or other files. The list of extensions
144 works case-insensitive.
145
146 -e exts
147 The reverse of the above.
148
149 You will experience unwanted results if you try to mix +e and -e
150 options on the command line.
151
152 INPUT OPTIONS
153 file(s)
154 The files to be scanned for encoded files. You can also give a
155 single hyphen ´-´ to read from standard input. Any number of
156 files may be given, but there is usually a limitation of 128
157 options imposed by the shell. If you are composing the list of
158 files with wildcards, make sure you don't accidentally feed the
159 program with binary files. This will result in undefined behav‐
160 iour.
161
162 @file Makes UUDeview read further options from the file. Each line of
163 the file must hold exactly one option. The file is erased after
164 the program finishes. This feature may be used to specify an
165 unlimited number of files to be scanned. Combined with the pow‐
166 ers of find(1), entire directory trees (like the news spool
167 directory) can be processed.
168
169 Options may also be set in the $UUDEVIEW environment variable, which is
170 read before processing the options on the command line.
171
173 After all input files have been scanned, you are asked for each file
174 what do do with it. Of course, the usual answer is to decode it, but
175 there are other possibilities. You can use the following commands (each
176 command is a single letter):
177
178 d (D)ecode the file and write the decoded file to disk, with the
179 given name.
180
181 y (Y)es does the same as (d).
182
183 x E(x)tract also decodes the file.
184
185 a Decodes all remaining files without prompting.
186
187 n Skips this file without decoding it.
188
189 b Steps back to the previous file.
190
191 r Rename. You can choose a different name for the file in order to
192 save it under this new name.
193
194 p Set the path where decoded files shall be written to. This path
195 can also be set with the -p command line option.
196
197 i Displays info about the file, if present. If a multipart posting
198 had a zeroeth part, it is printed, otherwise the first part up
199 to the encoded data is printed.
200
201 e Execute a command. You can enter any arbitrary command, possibly
202 using the current file as an argument. All dollar signs '$' in
203 this command line are replaced with the filename of the current
204 file (speaking correctly, the name of a temporary file). You
205 should not background processes using this temporary file, as
206 programs might get confused if their input file suddenly disap‐
207 pears.
208
209 l List a file. Use this command only if you know that the file in
210 question is a textfile, otherwise, you'll get a load of junk.
211
212 q Quits the program immediately.
213
214 ? Prints a short description of all these commands.
215
216 If you don't enter a command and simply hit return at the prompt, the
217 default command, decoding the file, is used.
218
220 In verbose mode (that is, if you didn't disable verbosity with the -v
221 option), progress messages will appear. They are extremely helpful in
222 tracing what the program does, and can be used to figure out the reason
223 why files cannot be decoded, if you understand them. This section
224 explains how to interpret them. Understanding this section is not
225 essential to operate the program.
226
227 First, there are "Loading" messages, which begin with the string
228 "Loaded". Each line should feature the following items:
229
230 Source File
231 The first item is the source file from which a part was loaded.
232 Many parts can be detected within a single file.
233
234 Subject Line
235 The complete subject is reproduced in single quotes.
236
237 Identifier
238 The program derives a unique identification for this thread from
239 the subject line, for grouping articles that look like they
240 belong to the same file. The result of this algorithm is pre‐
241 sented in braces.
242
243 Filename
244 If a filename was detected on the subject line or within the
245 data (for example, on a begin line, or as part of the Content-
246 Type information).
247
248 Part Number
249 The part number derived from the subject line, or, in the case
250 of properly MIME-formatted messages, from the "part" informa‐
251 tion.
252
253 Begin/End
254 If a "begin" or "end" token was detected, it is printed here.
255
256 Encoding Type
257 If encoded data was detected within this part, either "UUdata",
258 "Base64", "XXdata" or "Binhex" is printed here.
259
260 More messages are printed after scanning has completed. A single line
261 will be printed for each group of articles. The contents of this line
262 are best understood by looking at an example. Here is one:
263
264 Found 'mailfile.gz' State 16 UUData Parts begin 1 2 3 4 5 end 6 OK
265
266 This indicates that the file mailfile.gz has been found. The file was
267 uuencoded ("UUData") and consists of 6 parts. The "begin" token was
268 found in the first part, and the "end" token was found in the sixth
269 part. Because it looks like everything's there, this file is tagged as
270 being "OK". The State is a set of bits, where the following values may
271 be or'ed:
272
273 1 Missing Part
274
275 2 No Begin
276
277 4 No End
278
279 8 No encoded data found.
280
281 16 File looks Ok
282
283 32 An error occured during decoding of the file.
284
285 64 File was successfully decoded.
286
288 Because the program cannot receive terminal input when a file is being
289 read from standard input, interactivity is automatically disabled in
290 this case.
291
292 UUDeview is aware of MIME messages, but normally ignores strict MIME
293 compliance in favor of finding unproperly encoded data within them,
294 e.g. to succeed when individual parts of a uuencoded file have been
295 sent with a MIME mailer as MIME messages. For that, it subjects all
296 "text/plain" parts of a message to encoding detection. You can use the
297 -z option (see above) for more strict RFC2045 compliance.
298
299 The scanner tends to ignore short Base64 data (less than four lines)
300 outside of MIME messages. Some checks for this condition are used in
301 desperate mode, but they may cause misdetection of encoded data,
302 resulting in some invalid files.
303
304 Files are always decoded into a temporary file first, then this file is
305 copied to the final location. This is to prevent accidentally overwrit‐
306 ing existing files with data that turns out too late to be undecode‐
307 able. Thus be careful to have twice the necessary space available.
308 Also, when reading from standard input, all the data is dumped to a
309 temporary file before starting the usual scanning process on that file.
310
311 uudeview tries to derive all necessary information from the Subject:
312 line if present. If it holds garbage, or if the program fails to find
313 a unique identification and the part number there, uudeview might still
314 be able to decode the file using other heuristics, but you'll need
315 major luck then.
316 Yet this is only a concern with split-files. If all encoded files only
317 consist of single parts, don't worry.
318
319 If you rename, copy or link the program to uudecode, it may act as a
320 smart replacement for the standard, accepting the same command-line
321 options. This has not been well-tested yet.
322
324 uuenview(1), uudecode(1), uuencode(1).
325 The UUDeview homepage on the Web,
326 http://www.fpx.de/fp/Software/UUDeview/
327
329 To read a file whose name starts with a hyphen '-', prepend a path
330 name, for example './'.
331
332 The checksums found in BinHex data are ignored.
333
334 The program cannot fully handle partial multipart messages (MIME-style
335 multipart messages split over several mail messages). The individual
336 parts are recognized and concatenated, and the embedded multipart mes‐
337 sage is "decoded" into a plain-text file, which must then be fed again
338 to uudeview. Don't worry, these kinds of messages are rare.
339
340 UUDeview cannot decipher RFC 1522 headers.
341
342
343
344 June 2001 UUDEVIEW(1)