ebrefile コマンド

この文書は EB ライブラリバージョン 4.5-20200413 に対応しています。

目次:

Copyright (c) 1998-2006 Motoyuki Kasahara

はじめに

一冊の CD-ROM 書籍は、大抵複数の 副本 (subbook) を 持っています。 たとえばある CD-ROM 書籍は国語辞典、英和辞典、和英辞典の 3 つの副本を 収めています。 個々の副本は、それ自体が独立した「書籍」になっています。

     (CD-ROM 書籍)
+-----------------------+
|   [国語辞典] (副本)   |
|   [英和辞典] (副本)   |
|   [和英辞典] (副本)   |
+-----------------------+

EB/EBG/EBXA/EBXA-C/S-EBXA 形式の CD-ROM 書籍は catalog というファイルを、EPWING 形式の CD-ROM 書籍は catalogs というファイルを持っています。 これらのファイルは、その CD-ROM 書籍にはどんな副本が収められているのかを 定義しています。 これらのファイルは、CD-ROM 書籍のトップディレクトリに置かれています。

ebrefile は元のカタログファイルを読み、ユーザから指定された 副本だけを取り込んだ新しいカタログファイルを生成します。 言い換えれば、ebrefile は特定の副本の定義を、カタログファイル から削除します。 CD-ROM 書籍が 3 つの副本を持っている場合、ebrefile は そのうちの任意の 1 つまたは 2 つの副本を、新しいカタログファイルに 取り込むことができます。 ハードディスクに CD-ROM 書籍の一部だけをコピーしたいときに、 ebrefile は便利です。 ebrefile は EB ライブラリと一緒に配布されています。

あなたは、自分の所有する CD-ROM 書籍の使用許諾を守らなくてはいけません。 ebrefile はフリーソフトウェアですが、あなたの書籍が自由に 使えるものであるとは限りません。 ebrefile は、CD-ROM 書籍のあるファイルの内容に変更を加えます。 ご注意下さい。

ebrefile の実行

ebrefile の一般的な起動方法は次の通りです。

% ebrefile 書籍へのパス

書籍へのパス には、CD-ROM 書籍のトップディレクトリ、つまり catalog または catalogs ファイルが存在する ディレクトリを指定します。 複数のパスを書くことはできませんが、以下のように、パスの指定を省くことは できます。

% ebrefile

この場合、ebrefile はカレントディレクトリ (.) が指定されたものと判断します。

遠隔アクセスには対応していませんので、遠隔アクセス識別子は使用できません。

% ebrefile ebnet://localhost/cdrom
ebrefile: ebnet には対応していません。

副本の選択

特に指定がないと、ebrefile は、元のカタログファイルで定義 されているすべての副本を新しい副本に取り込みます。 つまり、新しいカタログファイルは、単に元のファイルのコピーになります。 この振る舞いは、役に立ちません。 ebrefile は、通常 --subbook (-S) オプションを指定して起動します。

--subbook (-S) オプションは引数を一つ取り、 そこにカンマ (,) で区切って、新しいカタログファイルに 取り込みたい副本のディレクトリ名を並べて書きます。 ebinfo コマンドを用いると、あなたの所有している書籍に どのような副本が含まれているのかを知ることができます。

% ebinfo /mnt/cdrom
ディスクの形式: EB/EBG/EBXA/EBXA-C/S-EBXA
文字コード: JIS X 0208
副本の数: 3

副本 1:
  題名: 新英和辞典(第四版)
  ディレクトリ: english
  検索方式: 前方一致 後方一致 条件 メニュー
  フォントの大きさ: 16 24 30 48
  半角フォントの文字: 0xa121 -- 0xa24e
  全角フォントの文字: 0xa321 -- 0xa27e

副本 2:
  題名: CD-ROM 仏和辞典(第三版)
  ディレクトリ: french
  検索方式: 前方一致 後方一致 条件 メニュー
  フォントの大きさ: 16 24 30 48
  半角フォントの文字: 
  全角フォントの文字: 0xa321 -- 0xa27e

副本 3:
  題名: ポケット独和辞典(第三版)
  ディレクトリ: german
  検索方式: メニュー
  フォントの大きさ: 16 24 30 48
  半角フォントの文字: 
  全角フォントの文字: 0xa321 -- 0xa27e

(ebinfo コマンドに関しての詳細は、 ebinfo コマンドのマニュアル を参照のこと。) この例では、3 つの副本が書籍には含まれており、その名前は english french, german だということが分かります。

次のコマンドを実行すると、ebrefile は副本として englishfrench だけを定義した新しいカタログ を生成します。

% ebrefile --subbook english,french

ディレクトリ名の大文字・小文字の違いは、区別されません。 --subbook の引数は、次のように分けて書くこともできます。

% ebrefile --subbook english --subbook french

ebrefile は副本の定義順序を変えることはできませんので、 --subbook に与える引数の順序は任意です。

これで再構成は完了です。 もういちど ebinfo を起動してみましょう。 副本 german が消えています。

% ebinfo /mnt/cdrom
ディスクの形式: EB/EBG/EBXA/EBXA-C/S-EBXA
文字コード: JIS X 0208
副本の数: 2

副本 1:
  題名: 新英和辞典(第四版)
  ディレクトリ: english
  検索方式: 前方一致 後方一致 条件 メニュー
  フォントの大きさ: 16 24 30 48
  半角フォントの文字: 0xa121 -- 0xa24e
  全角フォントの文字: 0xa321 -- 0xa27e

副本 2:
  題名: CD-ROM 仏和辞典(第三版)
  ディレクトリ: french
  検索方式: 前方一致 後方一致 条件 メニュー
  フォントの大きさ: 16 24 30 48
  半角フォントの文字: 
  全角フォントの文字: 0xa321 -- 0xa27e

もし、CD-ROM 書籍全体をすでにハードディスクにコピーしているなら、 副本 german のファイルは削除しても構いません。 ディレクトリ名が小文字で構成されているなら、次のようにします。

% rm -r german

ebrefile は、読み込んだカタログファイルにそのまま上書きして 新たなカタログファイルを生成しますが、元のカタログファイルの複製が、 catalog(s).old というファイル名で保存されます。 副本の選択を間違えてしまった場合は、いったん元に戻しましょう。 (以下では、カタログファイルが catalogs だと仮定しています。)

% mv catalogs.old catalogs

ただし 実行時に catalog(s).old が既に存在していると、上書き せずに残します。 この場合、カタログファイルの複製は新たに作られませんので、注意して下さい。

ebzip との連携

ebrefile は、ebzip という CD-ROM 書籍を圧縮する コマンドと併用することができます (ebzip コマンドに関しての詳細は、 ebzip コマンドのマニュアル を参照のこと。) 通常、 ebzipebrefile にはコマンド行で同じ 引数を与えます。

CD-ROM 書籍が /cdrom にマウントされ、この書籍には englishfrenchgerman という 3 つの副本が収められているとします。 以下に記した操作によって、副本 englishfrench は圧縮されてカレントディレクトリの下に置かれ、副本 german は 副本のリストから削除されます。

% ebzip --subbook english,french /cdrom
% ebrefile --subbook english,french /cdrom

圧縮したファイルをカレントディレクトリ以外に置くには、次のようにします。

% ebzip --output-directory /dict --subbook english,french /cdrom
% ebrefile --output-directory /dict --subbook english,french /cdrom

ebrefile のオプション一覧

ebrefile コマンドは、伝統的な一文字オプション名と覚えやすい 長いオプション名の両方を扱うことができます。 長いオプション名を表すには、- ではなく -- を 用います。 オプション名が一意に決まる範囲内で、名前の後方部分を省略することができます。

-h
--help
ヘルプメッセージを標準出力に出力して、終了します。
-o ディレクトリ
--output-directory ディレクトリ
新しいカタログファイルを置くディレクトリを指定します。 指定しなかったときは、カレントディレクトリ (.) になります (詳しくは、ebrefile の実行」 を参照のこと)。
-S 副本
--subbook 副本
ebrefile が新しいカタログファイルに取り込むべき副本を指定します。 副本 は、副本のディレクトリ名をカンマ (,) で区切って 並べたものでなくてはいけません。 指定しなかったときは、すべての副本が対象になります (詳しくは、「副本の選択」 を参照のこと)。
-v
--version
バージョン番号を標準出力に出力して、終了します。