Provided by: manpages-ja_0.5.0.0.20210215+dfsg-1_all 

名前
uudeview - バイナリファイル用の高性能なデコーダ
書式
uudeview [-i] [-d] [-f] [-o] [-b1] [-t] [(+e|-e) extlist]
[-v] [-s] [-m] [-n] [-p path] [@file] file(s)
説明
uudeview は、電子メールや Usenet から受け取ったエンコードされた形式のファイルを デコードする。標準付属の
uudecode(1) に似ているが、これよりも快適かつ柔軟である。 uudeview はエンコーディング方法として
uuencoding, xxencoding, Base64, BinHex をサポートしており、分割ファイル(複数の部分に分けて送られたもの)を
扱う ことができ、さらに複数のファイルを同時に扱うこともできる。したがって、 デコードの手間を大きく省くこ
とができる。ユーザは普通、デコードの準備を するためにファイルを手で編集する必要はない。
uudeview は起動されると、与えられたファイルを全てスキャンしてデコードすべきデー タを探し、そのデータと
データに含まれるパートをソートし、うまくデコード できそうなファイルの一覧をユーザに示す。ユーザはこの一覧
からデコードす るファイルを個別に選ぶ。
オプション
-i 対話機能を無効にする。ファイルのスキャンとその結果のソートを行った後、 uudeview はファイルをデコー
ドするかどうかをユーザに問い合わせず、デコード可能な ものを即座にバッチ処理でデコードする。
-d uudeview を desperate モードにする。このモードでは、不完全なファイルもデコード の候補となる。この
機能が有効なのは 50 個のパートに分かれた投稿の最後の 部分が欠けているような場合であるが、大抵の場
合は、無理にデコードしたファ イルは単に壊れているだけで利用はできないだろう。不完全なファイルがど
の 程度使えるかはファイルの種類による。
-f 高速モードでファイルをスキャンする。 uudeview は各入力ファイルに多くとも 1 ファイルしか含まれてい
ないものと想定する。 これは普通、ニューススプール内にあるファイルについては成り立つ。このオ プショ
ンを指定すると、複数の記事に分かれた入力ファイルのデコードは 中断される 。また、データが正しいかど
うかのチェックも一部が無効になるので、誤りが あるファイルもおそらくデコードの候補として示され
る。デコードの時にエラー メッセージを受け取ることもあるし、単に不正なファイルができることもある。
このような問題に遭いたくないなら -f オプションは使わないこと。
-o デコード時に既存のファイルを上書きすることを許可する。デフォルトでは、 上書きするか、別の名前を付
けるか、そのファイルを飛ばすかの問い合わせが ユーザに対して行われる。
-v 詳細表示を 無効に する。通常、このプログラムは入力ファイルを読み込む際に何らかのステータ スメッ
セージを表示する。これは問題が起きたときには非常に役に立つ。この ようなメッセージが鬱陶しい場合に
このオプションを使うこと。
-p パス
デコードしたファイルを書き込むディレクトリを設定する。これは有効なパス 名でなければならず、そうで
ない場合はファイルをデコードしようとした時に エラーとなる。デフォルト値は現在の作業ディレクトリで
ある。
+e 拡張子
指定された拡張子を持つファイルだけを選択してデコードする。他のファイル は無視される。 +e .gif.jpg
を指定すると、GIF ファイルと JPG ファイルは全てデコードされるが、TIF 等はデコードされない。拡張子
のリストでは大文字と小文字は区別されない。
-e 拡張子
上記のオプションの反対の意味を持つ。
コマンドラインで +e と -e を混ぜて使っても、希望した結果は得られない だろう。
-b1 このオプションは、サブジェクトからパート番号を取り出すという uudeview のポリシーを変更する。このオ
プションが必要となるのは稀であるが、 例えば複数に分割して投稿が行われた時のように、パート番号が 括
弧 () や ブラケット [] 内に書かれている場合だけは必要となる。デフォルトでは、 uudeview はまず 括弧
() 内にある数字を使う。しかし、この番号が全体のファイル数 を示しており、パート番号はブラケット []
に書かれている場合には、このパ ラメータを使って uudeview に他の数字を最初に読み込ませるようにする
こと。このオプションは、1 種類 のブラケットしか含まないファイルや、どちらの種類のブラケットも含ま
ない ファイルの展開には影響を与えない。必要ならば、このオプションは -b[] のように使うこともでき
る。
-s 「賢くなくする(minus smartness)」と読むこと。このオプションは、サブジェ クト行からパート番号を自動
検出する機能を無効にする。 uudeview がサブジェクト行の正しい展開に失敗してパート番号の推定時にエ
ラーを出力 し、パートの順番が狂う場合にはこのオプションを試すとよい。このオプショ ンを使うと、パー
トは必ず順番通りに繋げられる(したがって、入力ファイル ではパートを正しい順に並べなければならな
い)。また、このオプションを使 うと、プログラムは欠けているパートを検出することはできない。 注意:
この場合でも、きちんとした MIME ファイルに含まれている正しいパート番号は評価される。このオプション
を 2 回指定すると、サブジェクトそのものも無視され、パートのグループ付けに は使われない。パートを配
送する一連のメッセージのサブジェクト行がそれぞ れ異なる場合には、このオプションを使用すること。
-m ファイルのモードを無視する。uuencode や xxencode されたファイルの begin 行には、元のファイルのパー
ミッションが書かれている。このオプショ ンが与えられなければ、デコーダは元のパーミッションを復元し
ようとする。 このオプションを与えると、得られるパーミッションは 0666 からユーザの umask を引いた値
となる。
-n プログレスバーを表示しない。uudeview は通常、進行状況に合わせて 100% まで伸びてゆく横棒を ASCII 文
字で表示するが、端末がこれを表示できるか どうかのチェックは行わない。端末が表示できない場合や、プ
ログレスバーを 目障りと感じた場合にはこのオプションを使うこと。
-t プレーンテキストのメッセージを使う。通常、uudeview はデコードの際には エンコードされたデータだけを
表示する。このオプションを設定すると、 MIME メッセージに入っているテキストパートやエンコードされて
いないデータもデ コード対象として示される。プレーンテキストのメッセージにはファイル名が 付けられて
いないことが多いので、これらには 4 桁の通し番号を使ったユニー クな名前が付けられる。
ファイル(複数可)
エンコードされたファイルを探すためにスキャンするファイル。ハイフン (´-´)を指定すれば、標準入力から
読み込むこともできる。指定するファイ ルの数はいくつでも良いが、通常はシェルがオプションの数を 128
個までに 制限している。ワイルドカードを使ってファイルのリストを作った場合には、 間違ってバイナリ
ファイルをプログラムに入力しないこと。こうなった場合の 動作は未定義である。
@ファイル
追加のオプションをファイルから uudeview に読み込ませる。このファイルでは 1 行に 1 つだけオプション
を書かなけ ればならない。このファイルはプログラムの終了時に 削除される 。この機能を使うとファイル
を何個でも指定することができる。 find(1) の機能と組み合わせれば、ディレクトリツリー全体(ニュースス
プールのディ レクトリ等)を処理することができる。
環境変数 $UUDEVIEW にオプションを指定することもできる。この値はコマン ドラインのオプションを処理する前に
読み込まれる。
デコード
入力ファイルを全てスキャンした後、それぞれのファイルの扱いについてユー ザに問い合わせが行われる。当然なが
ら普通はデコードの実行と答えるのだが、 選択肢は他にもある。以下のコマンドを使用することができる(各コマン
ドは 1 文字である):
d ファイルをデコードし、デコードしたファイルを指定された名前でディスクに 書き込む。
y (d) と同じ動作である。
x このコマンドもファイルをデコードする。
n このファイルをデコードしないで飛ばす。
b 前のファイルに戻る。
i ファイルに関する情報があれば、それを表示する。マルチパートの投稿に 0 番目のパートがあればそれを表
示する。0 番目のパートがなければ、エンコー ドされているデータまでにある最初のパートが表示される。
e コマンドを実行する。どんなコマンドでも入力することができるが、この際に は多分、現在のファイルが引
き数として使われるだろう。コマンドライン中の ドル記号 '$' は全て、現在のファイルのファイル名に置き
換えられる(正確に は一時ファイルの名前)。この一時ファイルを使ってバックグラウンドプロセ スを実行し
てはならない。なぜなら、入力ファイルが突然消えた場合にプログ ラムの処理が混乱するからである。
l ファイルをリスト表示する。このコマンドを使うのは、問い合わせ対象のファ イルがテキストファイルの場
合だけにすること。そうでない場合にはゴミが大 量にできるだけである。
r 名前を変える。別の名前を選んで、そのファイルを新しい名前で保存すること ができる。
p デコードしたファイルを書き込むパスを設定する。このパスは、コマンドライ ンオプションの -p コマンド
で設定することもできる。
q 即座にプログラムを終了する。
? 以上のコマンド全ての簡単な説明を表示する。
コマンドを入力しないで、プロンプトでリターンキーだけを叩いた場合には、 デフォルトのコマンドであるファイル
のデコードが実行される。
実行時のメッセージ
詳細表示モード(つまり、-v オプションで詳細表示を無効にしていない場合) では、進行状況メッセージが出力され
る。このメッセージはプログラムの実行 を追跡するのに非常に便利であり、これを理解できればファイルのデコード
に 失敗した原因の追求に使うことができる。このセクションではメッセージの解 釈の仕方を説明する。プログラム
を操作するだけならば、このセクションを理 解することはあまり重要でない。
最初は「ロード中」のメッセージである。これは文字列 "Loaded" で始まる。 それぞれの行は以下の要素を示さなく
てはならない:
入力ファイル
最初の要素はソースファイルであり、ここからパートがロードされる。 1 つのファイルから多くのパートが
検出されることもある。
サブジェクト行
完全なサブジェクトがシングルクォートで括られた形で再現される。
識別子 このプログラムは、同じファイルに属していると思われる記事をまとめるため、 サブジェクト行を利用して
このスレッドをユニークに識別する。このアルゴリ ズムの結果はブレースで括って表示される。
ファイル名
サブジェクト行やデータ内でファイル名が検出されたかどうか(例えば、begin 行や Content-Type 情報の一
部として検出される)。
パート番号
パート番号を表す。サブジェクト行から取り出されたり、きちんとした MIME 形式のメッセージの場合には「
パート」情報から取り出されたりする。
Begin/End
"begin" トークンや "end" トークンが検出された場合、それがここで出力さ れる。
エンコーディング型
このパート内でエンコードされたデータが検出された場合、"UUdata", "Base64", "XXdata", "Binhex" のい
ずれかが出力される。
スキャンが終わった後にはこれ以外のメッセージが出力される。記事のグルー プそれぞれに対して 1 つの行が出力
される。この行の内容は例で見る方が分 かりやすいだろう。以下に例を示す:
Found 'mailfile.gz' State 16 UUData Parts begin 1 2 3 4 5 end 6 OK
この行はファイル mailfile.gz が見つかったことを示す。ファイルは uuencode されており("UUData")、6 つ の
パートからなる。また、"begin" トークンが最初のパートで見つかり、 "end" トークンが 6 番目のパートで見つ
かった。全て揃っているように見え るので、このファイルには "OK" のタグが付けられる。 State には以下に示す
各種ビットが設定される。ビットの値は OR されることもあるだろう。
1 欠けているパートがある
2 Begin が無い
4 End が無い
8 エンコードされているデータが見つからない
16 ファイルは問題なしと思われる
32 ファイルのデコード時にエラーが起きた
64 ファイルがうまくデコードできた
注意
このプログラムは、標準入力から読み込みを行うときには端末の入力を受け取 ることができないので、この場合には
対話機能は自動的に無効にされる。
MIME 形式のメッセージヘッダが検出されたときは、このプログラムはほぼ MIME 準拠の動作を行う。 「 ほぼ 」と
いうのは、規約ではファイルが複数のメッセージを含むことは認められて いないけれど、 uudeview はこの制限なし
で動作するからである。実際には、コマンドラインオプション -f を用いて必ずこの状態になるようにすれば、この
プログラムは RFC1521 に完 全に準拠する。 (このオプションが設定されていても、正しい MIME マルチパートメッ
セージ に含まれるパートは全て処理される。)
スキャンの処理部分は、MIME メッセージの外部にある短い Base64 データ(4 行以下)を無視することがよくある。こ
の状態に対するチェックがいくつか desperate モードで行われるが、これを行うとエンコードされたデータを誤っ
て検出し、不正なファイルができることがある。
ファイルは最初は必ず一時ファイルにデコードされ、その後に最終的な場所に コピーされる。これは、後になってか
らデコードできないことが分かるような データで既存のファイルを誤って上書きすることを防ぐためである。した
がっ て、必要なサイズの 2 倍の空きスペースを予め確保すること。また、標準入 力から読み込みを行う時には、全
てのデータは一時ファイルに書き込まれ、そ の後にこのファイルに対して通常のスキャン処理が始められる。
Subject 行があれば、 uudeview は必要な情報全てをこの行から取り出そうとする。Subject 行にゴミが入っ ている
場合や、プログラムがユニークな識別情報とパート番号を Subject 行 から見つけられなかった場合でも、 uudeview
は別のヒューリスティクスを用いてファイルをデコードすることができるが、 この場合の結果は運任せである。
ただし、これが関係あるのはファイルが分割されている場合だけである。エン コードされたファイルが全て 1 つの
パートだけからなる場合には何も心配す る必要はない。
このプログラムの名前を変えたり、コピーしたり、リンクをすることによって uudecode にした場合、このプログラ
ムは標準の uudecode の高性能な代用プログラムとして動作し、同じコマンドラインオプションを受 け付ける。ただ
し、テストはまだ十分でない。
関連項目
uuenview(1), uudecode(1), uuencode(1),
ウェブ上にある uudeview のホームページ:
http://www.uni-frankfurt.de/~fp/uudeview/
バグ
名前がハイフン('-')で始まるファイルを読み込むには、パス名(例えば './') を前に付けること。
バグとして報告する前には、そのファイルが他の手段でデコードできることを 確かめること。作者は、全くのゴミの
デコードに失敗したと後でわかるような バグ報告は受け取りたくない。
バグを見つけたと思ったら、入力ファイル(できれば単に入れるだけでなく、 元のファイルに圧縮とエンコードを施
すこと)とプログラムのメッセージのリ スト(詳細表示モード)を fp@informatik.uni-frankfurt.de 宛に送ること。
現在は BinHex データに入っているチェックサムは無視される。
このプログラムは、分割されたマルチパートメッセージ(複数のメールに分割 された MIME 形式のマルチパートメッ
セージ)を完全に処理することができな い。各パートが識別されて 1 つにまとめられ、これに含まれているマルチ
パー トメッセージがプレーンテキストファイルに「デコード」されるが、このファ イルを再び uudeview に入力し
なければならない。しかし、このようなメッセージは滅多にないので 心配する必要はない。
December 1996 UUDEVIEW(1)