名称
scan − メッセージごとに1行の scan リストを作成する
形式
scan [+folder] [msgs] [−clear] [−noclear] [−form formatfile] [−format string] [−header] [−noheader] [−width columns] [−nocnv] [−help]
解説
scan は、指定されたメッセージ群に対してメッセージごとに 1行ずつのリストを作成します。 scan が出力する各行は、メッセージの番号(名前)、および日付、 “From:” フィールド、“Subject” フィールド、 場所が許す限り若干のメッセージの本文を含みます。 例えば、
15+07/ 5Dcrockernned <<Last week I asked some of
16 −07/ 5Dcrockermessage id format <<I recommend
1807/ 6ObrienRe: Exit status from mkdir
1907/ 7Obrien“scan” listing format in MH
メッセージ 15 の ‘+’ は、それがカレントメッセージであることを示します。 メッセージ 16 の ‘−’ は、返信が出されたことを示します。 この返信は、repl コマンドに ‘−annotate’スイッチを使って 作成された “Replied:” コンポーネントが示されたものです。
scan が出力する行のサブジェクト(題目)の後ろに 十分な場所が余っていて、本文の内容が十分短い場合には、 その行は << で始まり >> で終わる本文からのテキストで埋められます。 scan は、実際に指定されたメッセージを一つ一つ読み、 それを解析し、望まれたフィールドを引き出します。 メッセージの解析中、メッセージにフォーマットエラーがあると、 適切なエラーメッセージが出されます。
‘−nocnv’ が指定されると漢字の自動変換は抑制されます。
‘−header’ スイッチは、scan コマンドがリストする前に ヘッドラインを作ります。一般に、フォルダ名および現在の日付と 時間が出力されます(詳しくは 歴史 部分を参照してください)。
‘−clear’ スイッチが使われ、scan の 出力がターミナルへ向けられている場合には、 scan は環境変数 $TERM と $TERMCAP とを調べ、 ユーザのターミナルタイプを特定します。 これは、scan の終了前にスクリーンを消せるように、 スクリーン消去の方法を知る必要があるからです。 ‘−clear’ スイッチが使われ、scan の 出力がターミナルに向けられていない場合(即ち、パイプあるいはファイル)、 scan は終了する前にフォームフィードを送ります。
例えば、コマンド:
(scan −clear −header; show all −show pr −f) | lpr
は、カレントフォルダの scan リストを作成し、 それからフォームフィードが続き、それから フォルダ内のすべてのメッセージについて フォーマットされたリストが続きます。 ‘−show pr −f’ が省略される場合、 メッセージは 1行のヘッダと 2行の空行を区切りにして、繋がれます。
scan が “Date:” フィールドを持たないメッセージに出会うと、 scan リストを空欄で残さず、 代わりにメッセージを最後に書き込んだ日付でその欄を埋め、 その後ろに ‘∗’ を付けます。
scan で使用される出力フォーマットを変更するため、 ‘−format string’ あるいは ‘−format file’ スイッチが使われます。 これにより、scan リストの個々のフィールドが 簡単に引き出せるようになります。 string は単純なフォーマット文字列で、formatfile も単純なファイルです。 詳しくは、mh−format(5) を参照してください。
標準エスケープに加えて、scan は 次のような付加的なエスケープも識別します:
^エスケープ~^説明
^body~^本文の冒頭部分(圧縮されている)
MH が BERK オプション付きでコンフィギュレーションされたホストでは、 scan コマンドでは他に 2つのスイッチ ‘−reverse’ と ‘−noreverse’ が 使えます。これらのスイッチにより、 scan はメッセージを逆の順番でリストするようになります。 さらに、scan はリストを開始する前、 MH のコンテクストを更新するので、 長い scan リストを中断させ、新たなコンテクストを保存します。 MH の純粋主義者はこのようなアイデアを嫌っています。
関連ファイル
^$HOME/.mh_profile~^ユーザプロファイル
プロファイルコンポーネント
^Path:~^ユーザの MHディレクトリ
^Alternate−Mailboxes:~^ユーザのメールボックス
^Current−Folder:~^デフォルトのカレントフォルダ
関連事項
inc(1), pick(1), show(1), mh−format(5)
デフォルト値
^‘+folder’~^カレントフォルダ
^‘msg’~^全部のメッセージ
^‘−format’~^上記に説明したデフォルト値
^‘−noheader’
^‘−width’~^端末の幅
コンテクスト
フォルダが与えられた場合、それがカレントフォルダになります。
歴史
フォーマット文字列メカニズムを使用するようになる前、 ‘−header’ スイッチはリストの各欄が何であるかを示す ヘッダを生成するのに使われていました。 フォーマット文字列はこのようなことが起こるのを防ぎます。
バグ
‘−format’ スイッチに対する引数は、 scan コマンドを起動させるシェルによって1つのトークンとして 解釈されなければなりません。 したがって、ユーザは一般的にこのスイッチに対する引数を ダブルクォートで囲みます。
NEWS-OSRelease 3.3