Provided by: manpages-ja_0.5.0.0.20221215+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)