calibredb

calibredb command [options] [arguments]

calibredb は calibreデータベース用のコマンドラインインタフェースです。これにはいくつかのサブコマンドがあり、それらについては以下で説明します。

calibredb を使用すると、パスで指定された calibreデータベース、またはローカルマシンやインターネット上で動作している calibre の コンテンツサーバ を操作できます。calibre の コンテンツサーバ は、calibre-server プログラムを使用するか、calibre のメインプログラムで 接続/共有  →  コンテンツサーバを起動 をクリックすることで起動できます。calibredb は calibre ライブラリを変更できるため、事前にサーバー側で認証を設定する必要があります。その方法には以下の2通りがあります。

  • 同じコンピュータ上で動作するサーバーにのみ接続する場合は、コンテンツサーバの --enable-local-write オプションを使用するだけで済みます。これにより、ローカルコンピュータ上で動作するプログラム(calibredb を含む)が calibre データを変更できるようになります。calibre のメインプログラムからサーバーを起動する場合、このオプションは 設定  →  ネットワーク経由の共有  →  詳細設定 にあります。ただし注意が必要です。一部のブラウザ(特に Firefox)では、任意のウェブサイトからローカルサーバーへのアクセスが許可される場合があるためです。Firefox を使用する場合は、後述するようにユーザー名とパスワードを設定することをお勧めします。Firefox v149 の時点では、ローカルネットワークアクセスの制限機能はまだ実装されていません。

  • インターネット経由でのアクセスを有効にする場合は、サーバー上にユーザーアカウントを設定し、calibredb の --username および --password オプションを使用してアクセス権を付与する必要があります。calibre-server のユーザー認証を設定するには、--enable-auth オプションを使用し、--manage-users を使ってユーザーアカウントを作成します。calibre のメインプログラムからサーバーを起動する場合は、設定  →  ネットワーク経由の共有  →  ユーザー名/パスワードを要求 を使用してください。実行中の コンテンツサーバに接続するには、サーバーの URL を --with-library オプションに渡してください。詳細や例については、そのオプションのドキュメントを参照してください。

グローバルオプション

--help, -h

このヘルプメッセージを表示して終了

--library-path, --with-library

calibreライブラリへのパス。デフォルトでは、設定に保存されているパスが使用されます。calibreコンテンツサーバーに接続して、リモートライブラリに対してアクションを実行することもできます。これを行うには、http://hostname:port/#library_id 形式のURLを使用します(例: http://localhost:8080/#mylibrary )。library_idは、コンテンツサーバー上の接続先ライブラリのライブラリIDです。library_idの特殊値として-を使用すると、サーバー上で利用可能なライブラリIDのリストを取得できます。コンテンツサーバー経由のアクセスの設定方法の詳細については、 https://manual.calibre-ebook.com/ja/generated/ja/calibredb.html を参照してください。

--password

calibreコンテンツサーバ接続用パスワード。標準入力からパスワードを読み取るには、特殊文字 <stdin> を使ってください。パスワードをファイルから読み込むには <f:/path/to/file> を使ってください。 (例えば先頭の <f: に続けてファイルへのフルパスを記述し、最後に > で閉じます。) カギ括弧は必須です。使用するシェルによっては、必要に応じてエスケープしたり引用符で囲ってください。

--timeout

ネットワーク経由でcalibreライブラリに接続するときのタイムアウト。秒単位。デフォルトは2分です。

--username

calibreコンテンツサーバ接続用ユーザ名

--version

プログラムのバージョン番号を表示して終了

list

calibredb list [options]

calibreデータベースに存在する本のリスト

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

--ascending

昇順に並び替え

--fields, -f

データベース中の本の一覧を表示するときに表示するフィールド。フィールドをカンマ区切りで指定します。 指定可能なフィールド: author_sort, authors, comments, cover, formats, identifiers, isbn, languages, last_modified, pubdate, publisher, rating, series, series_index, size, tags, template, timestamp, title, uuid デフォルト: title,authors 特殊フィールド名 "all" を指定するとすべてのフィールドを選択します。上記のビルトインフィールドの他、カスタムフィールドも *field_name として指定可能です。たとえば、カスタムフィールド #rating を表示させたいときには *rating と指定してください。

--for-machine

JSON形式で出力します。JSONはコンピュータでの処理により適した形式です。このオプションを指定すると行幅とセパレーターオプションは無視されます。

--limit

表示する最大結果数。デフォルトはすべて

--line-width, -w

出力ファイル中の、1行の最大の長さ。デフォルトは画面サイズから判別。

--prefix

すべてのファイルパスのプレフィックス。デフォルトはライブラリフォルダへの絶対パス。

検索文字列で結果を絞り込む。検索文字列の形式については、ユーザマニュアルの検索関連のドキュメントを参照してください。デフォルトでは絞り込みを行いません。

--separator

区切り文字(デフォルトは半角スペース)

--sort-by

結果を並べ替えるフィールド。複数のフィールドを指定する場合は、カンマで区切ります。 利用可能なフィールド: author_sort, authors, comments, cover, formats, identifiers, isbn, languages, last_modified, pubdate, publisher, rating, series, series_index, size, tags, template, timestamp, title, uuid デフォルト: id。上記の組み込みフィールドに加えて、カスタムフィールドも *field_name として使用できます。たとえば、カスタムフィールド #rating の場合は、*rating という名前を使用します。

--template

フィールドリストに "template" が含まれている場合に実行されるテンプレート。calibreサーバーへの接続中はテンプレートは無視されることに注意してください。デフォルト: なし

--template_file, -t

フィールドリストに "template" が含まれている場合に実行するテンプレートを含むファイルへのパス。デフォルト:なし

--template_heading

テンプレート列の見出し。デフォルト: template。オプション --for-machine が設定されている場合、このオプションは無視されます。

add

calibredb add [options] file1 file2 file3 ...

指定したファイルを本としてデータベースに追加します。フォルダを指定することもできます。参照 以下のフォルダ関連のオプション。

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

--authors, -a

追加する本の著者を設定

--automerge, -m

似たようなタイトルと著者の本が見つかった場合は、受信した形式(ファイル)を既存の本のレコードに自動的にマージします。 'ignore'の値は、重複する形式が破棄されることを意味します。 'overwrite'の値は、ライブラリ内の重複する形式が新しく追加されたファイルで上書きされることを意味します。 'new_record'の値は、重複する形式が新しいブックレコードに配置されることを意味します。

--cover, -c

追加する本の表紙をパスで指定

--duplicates, -d

本がすでにデータベースに存在する場合でも追加します。本のタイトルと著者に基づいて比較します。--automerge オプションが優先します。

--empty, -e

空の本を追加する(形式が1つも無い本)

--identifier, -I

この本の識別子を設定します。例: -I asin:XXX -I isbn:YYY

--isbn, -i

追加する本のISBNを設定

--languages, -l

カンマ区切りの言語のリスト(ISO639言語コードで指定するのが確実ですが、それ以外のいくつかの言語名も認識します)

--series, -s

追加する本のシリーズを設定

--series-index, -S

追加する本のシリーズ番号を設定

--tags, -T

追加する本のタグを設定

--title, -t

追加する本のタイトルを設定

フォルダから追加

フォルダからの本の追加を制御するオプション。デフォルトでは、既知の電子書籍ファイルタイプの拡張子を持つファイルのみが追加されます。

--add

ファイル名(glob)パターン。このパターンに一致するファイルは、既知の電子書籍ファイルタイプでなくても、フォルダでファイルをスキャンするときに追加されます。複数のパターンに対して複数回指定できます。

--ignore

ファイル名(glob)パターン。このパターンに一致するファイルは、フォルダでファイルをスキャンするときに無視されます。複数のパターンに対して複数回指定できます。例:*。pdfはすべてのPDFファイルを無視します

--one-book-per-directory, -1

フォルダ毎に一冊の本が格納され、その中のすべてのファイルはその本の別の電子書籍形式とみなす

--recurse, -r

フォルダを再帰的に処理

remove

calibredb remove ids

idsに指定された本をデータベースから削除。idsには数字をカンマ区切りで指定します (本のIDはsearchコマンドで取得できます)。例: 23,34,57-85 (範囲で指定した場合、範囲の終端は含まれません)

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

--permanent

ゴミ箱を使用しない

add_format

calibredb add_format [options] id ebook_file

ebook_file で指定する電子書籍ファイルを、id で指定された本の利用可能な形式として追加します。idはsearch コマンドで取得できます。形式がすでに存在する場合は、置換しないオプションを有効にした場合をのぞいて、置換されます。

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

--as-extra-data-file

ファイルを電子書籍形式ではなく、本の追加データファイルとして追加してください。

--dont-replace

形式がすでに存在する場合に置換しない

remove_format

calibredb remove_format [options] id fmt

fmt で指定した形式を id で指定した本から削除します。id は search コマンドで取得できます。fmt はLRF, TXT, EPUB のようにファイルの拡張子で指定してください。本に指定した形式がない場合、なにもしません。

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

show_metadata

calibredb show_metadata [options] id

id で指定された本の、calibreのデータベースに保存された書誌を表示します。id はsearch コマンドで取得できるID番号です。

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

--as-opf

OPF 形式 (XML) で書誌を表示

set_metadata

calibredb set_metadata [options] book_id [/path/to/metadata.opf]

calibreデータベースに保存されている、指定された本の書誌データを、OPFファイルmetadata.opfから取得します。book_idは、searchコマンドで取得した本のIDです。 show_metadataコマンドに--as-opfオプションを使用すると、OPFフォーマットの概要を簡単に確認できます。 --fieldオプションを使用すると、個々のフィールドのメタデータを設定することもできます。--fieldオプションを使用する場合は、OPFファイルを指定する必要はありません。

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

--field, -f

フィールドに設定する値。field_name:value の形式で指定してください。例: --field tags:tag1,tag2。使用可能なフィールド名のリストを得るには --list-fields を使用してください。複数のフィールドの値を設定するためには、このオプションを複数指定してください。注意: 言語を指定する場合は ISO639言語コードを使用してください(英語は en、フランス語は fr 等)。識別子は以下の書式で指定してください --field identifiers:isbn:XXXX,doi:YYYYY。Boolean型(yes/no)のフィールドは、true, false またはyes, no で指定してください。

--list-fields, -l

--field オプションで使用可能な書誌フィールド名のリストを表示

export

calibredb export [options] ids

ids(カンマ区切りのリスト)で指定された本をファイルシステムにエクスポートします。 エクスポート操作では、本のすべてのフォーマット、表紙、メタデータ(OPFファイル)が保存されます。本に関連付けられた追加データファイルもすべて保存されます。 ID番号は、検索コマンドで取得できます。

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

--all

IDのリストを無視してデータベースからすべての本をエクスポートします。

--dont-asciiize

ファイル名の英語以外の文字をすべて英語相当の文字に calibre に変換させます。Unicode ファイル名を完全にサポートしていない古いファイルシステム上に保存するときに役に立ちます。 このスイッチ指定すると、この挙動をOFFにできます。

--dont-save-cover

通常、calibreは表紙を電子書籍ファイルとは別のファイルに保存します。 このスイッチ指定すると、この挙動をOFFにできます。

--dont-save-extra-files

本を保存する際は、本に関連付けられているデータファイルもすべて保存してください。 このスイッチ指定すると、この挙動をOFFにできます。

--dont-update-metadata

通常、calibreはライブラリ内のファイルの書誌をアップデートしますが、これはディスクへの保存を遅くします。 このスイッチ指定すると、この挙動をOFFにできます。

--dont-write-opf

通常、calibreは電子書籍ファイル本体に付随する別個のOPFファイルに書誌を書き込みます。 このスイッチ指定すると、この挙動をOFFにできます。

--formats

各本を保存する時のカンマ区切りの形式のリスト。デフォルトではすべての存在する形式が保存されます。

--progress

進捗状況を表示

--replace-whitespace

空白をアンダースコアに置換

--single-dir

すべての書籍を1つのフォルダにエクスポート

--template

保存したファイルのファイル名とフォルダ構成を制御するためのテンプレート。デフォルトは "{author_sort}/{title}/{title} - {authors}" で、タイトルと著者名をファイル名に含むフォルダに著者別に保存します。利用可能なコントロール: {author_sort, authors, id, isbn, languages, last_modified, pages, pubdate, publisher, rating, series, series_index, tags, timestamp, title}

--timefmt

日付表示時の形式。 %d - 日, %b - 月(の名前), %m - 月の番号, %Y - 年. デフォルト: %b, %Y

--to-dir

指定したフォルダに本をエクスポートします。デフォルトは .

--to-lowercase

パスを小文字に変換

catalog

calibredb catalog /path/to/destination.(csv|epub|mobi|xml...) [options]

path/to/destination の拡張子で指定される形式でカタログをエクスポートします。 出力されたカタログに表示するエントリはoptionsで制御します。 カタログの形式により、サポートするオプションが異なるので注意してください。 異なったオプションを見るには、出力ファイルの名前と、次に--help オプションを指定してください。

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

--ids, -i

カタログに対するカンマ区切りのデータベースID。 宣言する場合は、:option:`--search`は無視されます。 デフォルト: all

結果を検索文字列で絞り込みします。検索文字列の形式については、ユーザマニュアルの検索関連ドキュメントを参照してください。 デフォルト: 絞り込みなし

--verbose, -v

詳細な出力情報を表示します。デバッグに便利です。

EPUB オプション

--catalog-title

書誌のタイトルとして使われる、生成されたカタログのタイトル。 デフォルト: 'My Books' 適用: AZW3, EPUB, MOBI出力形式

--cross-reference-authors

複数の著者のいる本の著者セクション用にクロスリファレンスを作成。 デフォルト: 'False' 適用: AZW3, EPUB, MOBI出力形式

--debug-pipeline

変換パイプラインからの別々のステージの出力を指定したフォルダに保存します。変換処理のどのステージで不具合が発生しているのか不明な場合に役立ちます。 デフォルト: 'None' 適用: AZW3, EPUB, MOBI 出力形式

--exclude-genre

ジャンルとして除外するタグを表す正規表現。 デフォルト: '[.+]|^+$' はブラケットで囲まれたタグを除外します。例: '[Project Gutenberg]' と '+' は本を読むデフォルトのタグ。 適用: AZW3, EPUB, MOBI出力形式

--exclusion-rules

生成したカタログから除外する本を指定するルール。 除外ルールはだいたい次のいずれかのようになります。 ('<rule name>','Tags','<comma-separated list of tags>') または ('<rule name>','<custom column>','<pattern>'). 使用例: (('Archived books','#status','Archived'),) 上記例では、カスタム列 'status' の値が 'Archived' の本を除外します。 ルールが複数指定されている場合には、すべて適用されます。 デフォルト: "(('Catalogs','Tags','Catalog'),)" 適用: AZW3, EPUB, MOBI出力形式

--generate-authors

カタログに 'Authors' セクションを含める。 デフォルト: 'False' 適用: AZW3, EPUB, MOBI出力形式

--generate-descriptions

カタログに 'Description' セクションを含める。 デフォルト: 'False' 適用: AZW3, EPUB, MOBI出力形式

--generate-genres

カタログに 'Genres' セクションを含める。 デフォルト: 'False' 適用: AZW3, EPUB, MOBI出力形式

--generate-recently-added

カタログに 'Recently Added' セクションを含める。 デフォルト: 'False' 適用: AZW3, EPUB, MOBI出力形式

--generate-series

カタログにシリーズセクションを含める。 デフォルト: 'False' 適用: AZW3, EPUB, MOBI出力形式

--generate-titles

カタログに 'Titles' セクションを含める。 デフォルト: 'False' 適用: AZW3, EPUB, MOBI出力形式

--genre-source-field

'Genre' セクション用のソースフィールド。 デフォルト: 'タグ' 適用: AZW3, EPUB, MOBI出力形式

--header-note-source-field

Descriptionヘッダに挿入するノートを格納したカスタムフィールド。 デフォルト: '' 適用: AZW3, EPUB, MOBI出力形式

--merge-comments-rule

#<custom field>:[before|after]:[True|False] の形式で指定。 <custom field> コメントにマージするノートを含むカスタムフィールド [before|after] コメントに関するノートの位置 [True|False] ノートとコメントの間に水平線を挿入するかどうか デフォルト: '::' 適用: AZW3, EPUB, MOBI出力形式

--output-profile

出力プロファイルを指定。場合により、デバイスに合わせてカタログをオプティマイズする際に出力プロファイルが必要になります。例えば、'kindle' または 'kindle_dx' は、セクションと記事からなる構造化された目次を精製します。 デフォルト: 'None' 適用: AZW3, EPUB, MOBI出力形式

--prefix-rules

既読本を示すプレフィックスや、ウィッシュリスト、その他ユーザ指定のプレフィックスを含めるために使用するルールを指定。 プレフィックスルールは ('<rule name>','<source field>','<pattern>','<prefix>') のように指定します。 複数のルールが指定されている場合には、最初に一致したルールが使用されます。 デフォルト: '(('Read books','tags','+','✓'),('Wishlist item','tags','Wishlist','×'))' 適用: AZW3, EPUB, MOBI出力形式

--preset

GUIカタログビルダーで作成された名前付きプリセットを使用。 カタログ作成のすべての設定を指定するためのプリセットです。 デフォルト: 'None' 適用: AZW3, EPUB, MOBI出力形式

--thumb-width

カタログ中の本の表紙のサイズのヒント (インチ指定) 範囲: 1.0 - 2.0 デフォルト: '1.0' 適用: AZW3, EPUB, MOBI出力形式

--use-existing-cover

カタログ生成時に既存の表紙を上書き。 デフォルト: 'False' 適用: AZW3, EPUB, MOBI出力形式

saved_searches

calibredb saved_searches [options] [list|add|remove]

このデータベースに保存されている保存済み検索を管理します。 すでに存在する名前でクエリを追加しようとすると、置き換えられます。

一覧表示 (既定のアクション) の構文:

calibredb saved_searches list

追加の構文:

calibredb saved_searches add search_name search_expression

削除の構文:

calibredb saved_searches remove search_name

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

add_custom_column

calibredb add_custom_column [options] label name datatype

カスタム列を作成。labelはマシン・フレンドリな列の名前。スペースやコロンを含めません。 nameは人間に読みやすい列の名前。 datatypeは以下のいずれか: bool, comments, composite, datetime, enumeration, float, int, rating, series, text

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

--display

列のデータがどのように翻訳されるかをカスタマイズする辞書を指定するオプションです。JSON文字列で指定します。列挙型の列の場合、以下を使用してください:option:--display"{\ "enum_values\ ":[\ "val1\ ", \ "val2\ "]}" 。 値の表示方法には、様々なオプションがあります。列の型ごとのオプションは以下の通りです。 合成型: composite_template, composite_sort, make_category,contains_html, use_decorations 日付: date_format 列挙型: enum_values, enum_colors, use_decorations 整数、浮動小数点数: number_format テキスト: is_names, use_decorations 型とオプションの正しい組み合わせを知るには、GUIから適切な型のカスタム列を作成して、出力されるバックアップのOPFファイルを見てみるのが一番よい方法です(列を追加して以降にOPFが再生成されていることを確認してください)。OPFの新しい列に "display" というJSONが見つかるでしょう。

--is-multiple

この列はタグ状のデータ(例: 複数のカンマ区切りの値)を保持します。datatypeがtextの時のみ有効です。

custom_columns

calibredb custom_columns [options]

利用可能なカスタム列の一覧を表示。列ラベルとIDを表示します。

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

--details, -d

各列の詳細を表示

remove_custom_column

calibredb remove_custom_column [options] label

labelで指定されるカスタム列を削除。 custom_columns コマンドで存在するカスタム列を見ることができます。

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

--force, -f

確認を表示しない

set_custom

calibredb set_custom [options] column id value

idで指定された本のカスタム列の値を設定します。 search コマンドでIDのリストが取得できます。 custom_columns コマンドでカスタム列の名前のリストが取得できます。

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

--append, -a

もし列に複数の値を設定できる場合、値を指定した値に入れ替えるのではなく、すでにある値に付け加えます。

restore_database

calibredb restore_database [options]

calibreライブラリの各フォルダにあるOPFファイルに保存されているメタデータから、このデータベースを復元します。これは、metadata.dbファイルが破損してしまった場合に役立ちます。

警告: このコマンドを実行すると、データベースが完全に再生成されます。 保存済みの検索、ユーザーカテゴリ、プラグボード、本ごとの変換設定、およびカスタムレシピがすべて失われます。復元されたメタデータの正確さは、OPFファイルに含まれる情報に依存します。

復元が成功した場合は終了ステータスが0、完全に失敗した場合は1、 データベースは復元されたものの、一部の本やその他のデータを復元できなかった場合は2となります。

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

--really-do-it, -r

実際にリカバリーを行います。このコマンドはこのオプションを指定しなければ実行されません。

check_library

calibredb check_library [options]

ライブラリのあるファイルシステムをチェックします。レポート:invalid_titles, extra_titles, invalid_authors, extra_authors, missing_formats, extra_formats, extra_files, missing_covers, extra_covers, malformed_formats, malformed_paths, failed_folders

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

--csv, -c

CSVで出力

--ignore_extensions, -e

無視する拡張子(カンマ区切りのリスト) デフォルト: all

--ignore_names, -n

無視する名前のカンマ区切りのリスト デフォルト: all

--report, -r

カンマ区切りのレポートのリスト デフォルト: all

--vacuum-fts-db

全文検索データベースより抽出を行います。この操作はデータベースのサイズによっては非常に遅くなり、またメモリーを消費する場合があります。

list_categories

calibredb list_categories [options]

データベース中のカテゴリ情報のレポートを作成します。情報はタグブラウザに表示されるものと同等です。

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

--categories, -r

カンマ区切りのカテゴリのルックアップ名のリスト。デフォルト: all

--csv, -c

CSVで出力

--dialect

DSVファイルのタイプ。選択肢: excel, excel-tab, unix

--item_count, -i

カテゴリ内の項目別の数ではなく、カテゴリにある項目数のみを出力します。

--width, -w

出力ファイル中の、1行の最大の長さ。デフォルトは画面サイズから判別。

backup_metadata

calibredb backup_metadata [options]

データベースに格納されている書誌を、本フォルダにある個別の OPF ファイルに バックアップします。通常は自動的に行われますが、--all オプションをつけてコマンドを 実行すれば、OPF ファイルを強制的に再生成することができます。

ただし普通はこれを行う必要はありません。OPF ファイルは書誌が変更されるたびに 自動的にバックアップされるからです。

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

--all

通常このコマンドは、古くなったOPFファイルに対してのみ実行されます。このオプションを指定すると、すべての本に対して実行されます。

clone

calibredb clone path/to/new/library

現在のライブラリの複製を作成します。現在のライブラリと 列、仮想ライブラリ、その他の設定が同じである、新しい空の ライブラリが作成されます。

複製されたライブラリに本は含まれません。すべての本を含む複製を 作成したい場合には、単にライブラリのフォルダをコピーしてください。

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

embed_metadata

calibredb embed_metadata [options] book_id

calibreライブラリ内に保存されている電子書籍ファイルの書誌を calibreデータベースの書誌で更新します。 通常、電子書籍ファイルの書誌の更新は、エクスポート時のみ 行われますが、このコマンドはすぐに更新を行いたい場合に便利です。 ファイル形式毎にサポートする書誌のフィールドが 異なることに留意ください。 book_id に特別な値 'all' を指定すると、すべての本が更新されます。 また、スペース区切りで複数のidを指定すること、ハイフン区切りで 範囲を指定することができます。 例: calibredb embed_metadata 1 2 10-15 23

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

--only-formats, -f

指定した形式のファイルのみ書誌を更新します。複数の形式を指定する場合は、オプションを複数回指定してください。デフォルトでは、すべての形式が更新されます。

fts_index

calibredb fts_index [options] enable/disable/status/reindex

全文検索用インデックス生成処理の設定

enable

このライブラリーの FTS インデックスを有効にする

disable

このライブラリーの FTS インデックスを無効にする

status

現在のインデックス化状態を表示

reindex

特定のブックまたはライブラリー全体の再インデックス化を行えます。特定ブックの再インデックス化の場合はブックのidを reindex コマンドの後ろに引数として付けてください。ブックid が指定されない場合はライブラリー全体が再インデックス化されます。

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

--indexing-speed

インデックス化の速度。高速なインデックス化には fast を選択し、コンピュータのリソースを最大限に活用します。低リソースでのインデックス作成には slow を選択します。なお、速度は実行ごとに slow にリセットされます。

--wait-for-completion

全てのブックのインデックス生成までお待ちください。インデックス化の進捗は定期的に表示されます

notes

calibredb notes [options] [list|search|show|set|remove]

著者、シリーズ、タグ、発行者などの項目に付けられたノートを管理します。FIELD はフィールドのルックアップ名で、例えば authors、series、tags、publisher、#mycolumn などです。ITEM は項目の名前で、例えば著者の名前です。項目は大文字と小文字を区別せずに照合されます。

ノートがある項目を一覧表示します。指定したフィールドの項目だけに絞ることもできます。これが既定のアクションです:

calibredb notes list [FIELD]

calibre の「ノートをブラウズ」ツールと同じ SQLite 全文検索の構文を使用して、ノートのテキストを検索します。一致したそれぞれについて、フィールド、項目名、抜粋を表示します。特定のフィールドのノートだけを検索するには --field を使用します:

calibredb notes search "search expression" calibredb notes search --field authors "search expression"

項目のノートを Markdown 形式のテキストで表示します。--as-html を指定すると、画像を埋め込んだ HTML 文書として表示し、そのまま set で使用できます:

calibredb notes show FIELD ITEM

項目のノートを HTML ファイルの内容で置き換えます。標準入力から HTML を読み込むには - を使用します。base64 でエンコードされた data: URL として埋め込まれた画像は、ローカルとリモートのどちらのライブラリでもノートに追加されます。ローカルライブラリを使用してファイルから読み込む場合は、ファイルからの相対パスで参照されている画像も追加されます:

calibredb notes set FIELD ITEM FILE

項目のノートを削除します:

calibredb notes remove FIELD ITEM

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

--as-html

ノートを表示する際は、Markdown形式のテキストではなくHTMLとして出力してください。

--field

ノートの検索時に、検索をこのフィールドに限定します。例: authors、tags、#mycolumn

items

calibredb items [options] (rename|remove) FIELD ITEM ...

すべての本に含まれる著者名、タグ、シリーズ、発行者などの項目を、名前変更または削除します。これは、calibreインタフェースにおける「著者名、タグなどの管理」操作と同様の機能です。FIELDには、対象となるフィールドの識別名(例: authors、tags、series、publisher、または #mycolumn)を指定します。項目の照合は、大文字と小文字を区別せずに行われます。

項目名を変更します。変更後の名前(NEW_NAME)がすでに存在する場合、その2つの項目は統合されます。複数の値を持つフィールドの場合、NEW_NAMEに複数の値を指定することも可能です。その際は、各フィールドで定められた区切り文字(タグの場合はカンマなど)で値を区切ります。指定した項目は、それらのすべての値に置き換えられます。

calibredb items rename FIELD ITEM NEW_NAME

すべての本から1つ以上の項目を削除します。著者名 は削除できません。

calibredb items remove FIELD ITEM [ITEM ...]

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

指定した検索式に一致する本のみを変更します。例: tags:"=Fiction"

virtual_libraries

calibredb virtual_libraries [options] [list|add|rename|remove]

このライブラリの仮想ライブラリを管理します。仮想ライブラリとは、ライブラリにそれに一致する本だけが含まれているかのように動作する検索です。仮想ライブラリ内の本を一覧表示または検索するには、calibredb search 'vl:"name"' を使用します。

仮想ライブラリを、その検索と本の数とともに一覧表示します。これが既定のアクションです:

calibredb virtual_libraries list

検索から仮想ライブラリを作成します:

calibredb virtual_libraries add name search_expression

仮想ライブラリの名前を変更します:

calibredb virtual_libraries rename name new_name

仮想ライブラリを削除します。その中の本は変更されません:

calibredb virtual_libraries remove name ...

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

--for-machine

機械での解析に適した JSON 形式で出力を生成する

--replace

追加の際に、同じ名前の既存の仮想ライブラリの検索を置き換える

annotations

calibredb annotations [options] [list|search|export|import|remove]

本の注釈 (calibre 電子書籍ビューアで作成された、または他のアプリケーションから同期されたハイライトとブックマーク) を管理します。

注釈をIDとともに一覧表示します。これが既定のアクションです:

calibredb annotations list

「注釈を見る」ツールと同じ SQLite 全文検索の構文を使用して、ハイライトされたテキスト、注釈のメモ、ブックマークのタイトルを検索します。結果は関連度順に並べられ、注釈のID、本のタイトル、一致した抜粋が含まれます。本を絞り込むには --search、注釈の種類を絞り込むには --type、ユーザーを絞り込むには --user-type と --annotation-user、語形どおりに一致させるには --no-stemming を使用します。--format json を指定すると、注釈データと抜粋を含む結果を JSON 配列で出力します:

calibredb annotations search "search expression"

注釈を本ごとにまとめて、プレーンテキスト、Markdown、JSON のいずれかでエクスポートします。JSON は「注釈を見る」ツールのエクスポートボタンで作成されるものと同じ calibre の注釈コレクションです:

calibredb annotations export

このコマンドまたは「注釈を見る」ツールで JSON としてエクスポートされた calibre の注釈コレクションをインポートします。コレクションには1冊の本の注釈だけが含まれている必要があります。BOOK_ID はインポート先の本のIDで、ファイルに保存されているIDではありません。FORMAT 形式の注釈だけがインポートされ、他の形式の注釈はスキップされます。FORMAT はインポート先の本に存在している必要があります。位置が一致するように、同じ版の本を使用してください:

calibredb annotations import BOOK_ID FORMAT FILE

FILE に - を指定すると標準入力から読み込みます。インポートの前にコレクション全体が検証されます。注釈はビューアと同じ規則で既存の注釈と統合されます。ハイライトは UUID で、ブックマークはタイトルで照合され、タイムスタンプが新しいほうが優先されます。繰り返しインポートしても重複は作成されません。関係のない注釈と読書位置は保持されます。

既定では、注釈は calibre 電子書籍ビューアの注釈としてインポートされます。代わりにコンテンツサーバーのユーザーの注釈としてインポートするには、--user-type web --annotation-user USER を使用します。エクスポートされたコレクションには注釈が属するユーザーが記録されており、複数のユーザーの注釈を含むコレクションは拒否されます。1人のユーザーの注釈をエクスポートするには、エクスポート時に --user-type と --annotation-user オプションを使用してください。

指定したID (list で表示されるもの) の注釈を完全に削除します:

calibredb annotations remove ID ...

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

--annotation-user

指定したユーザーの注釈だけを一覧表示、検索、エクスポートします。インポートの場合は、注釈をインポートするコンテンツサーバーのユーザーで、--user-type web と併せて指定する必要があります。リモートライブラリへの接続に使用するユーザーに限らず、任意のユーザーを指定できます。

--format, -f

エクスポート形式。次のいずれか: text, markdown, json。検索の場合は text または json です。既定値: text

--no-stemming

検索時に、語幹ではなく語形どおりに一致させる

指定した本の検索クエリに一致する本の注釈だけを一覧表示、検索、エクスポートします。例: --search "series:Foundation"

--type, -t

指定した種類の注釈だけを一覧表示、検索、エクスポートします。次のいずれか: highlight, bookmark

--user-type

指定した種類のユーザーの注釈だけを一覧表示、検索、エクスポートします。インポートの場合は、注釈をインポートするユーザーの種類で、calibre 電子書籍ビューア (local) またはコンテンツサーバーのユーザー (web) です。インポートの既定値は local です。

trash

calibredb trash [options] (list|restore|delete|empty) [ids]

削除されてゴミ箱に入れられた本と形式を管理します。 ゴミ箱のエントリは、数日後に自動的に完全に削除されます。 ids は remove コマンドと同様に、本のIDをカンマ区切りで指定したものです。例: 23,34,57-85 (範囲で指定した場合、範囲の終端は含まれません)。

削除された本と形式を、削除日時 (ローカル時刻) とともに、最近削除されたものから順に一覧表示します。すでに存在しない本の削除された形式は復元不可として表示され、削除することしかできません。--for-machine を指定すると、日時は UTC になります:

calibredb trash list

削除された本を復元します。--formats を指定すると、本の削除された形式を復元します:

calibredb trash restore ids

ゴミ箱からエントリを完全に削除します:

calibredb trash delete ids

ゴミ箱の中身をすべて完全に削除します:

calibredb trash empty

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

--for-machine

list アクションの出力を、機械での解析に適した JSON 形式で生成する

--formats

削除された本ではなく、指定した本の削除された形式を対象にする

data_files

calibredb data_files [options] (list|add|get|rename|remove) BOOK_ID ...

ローカルまたはリモートのライブラリで、本に関連付けられた追加のデータファイルを管理します。 名前は本のデータディレクトリからの相対パスです。サブディレクトリには / を使用します (も使用できます)。名前に を含むファイルは一覧には表示されますが、それ以外の操作はできません。 電子書籍の形式、表紙、metadata.opf にはこのコマンドではアクセスできません。 リモートライブラリでは、他の管理コマンドと同様に書き込み権限のあるアカウントが必要です。また、ライブラリごとの検索制限があるアカウントはサポートされていません。

ファイル名、サイズ (バイト)、更新日時 (Unix エポックからの秒数) を一覧表示します。JSON で出力するには --for-machine を使用します:

calibredb data_files list BOOK_ID

ファイルをそのベース名で追加します。名前やサブディレクトリを指定するには --name を使用します。--replace を指定しない限り、既存のファイルは置き換えられません。これは add_format --as-extra-data-file でも行えます:

calibredb data_files add BOOK_ID FILE

データファイルを1つ、ローカルマシンの --output に保存します。--replace を指定しない限り、既存の出力ファイルは置き換えられません:

calibredb data_files get BOOK_ID NAME --output FILE

ファイルの名前を変更します。--replace を指定しない限り、既存の変更先は置き換えられません:

calibredb data_files rename BOOK_ID NAME NEW_NAME

ファイルをオペレーティングシステムのゴミ箱に移動します。--permanent を指定すると、代わりに完全に削除します。リモートライブラリの場合、これはサーバー上で行われます:

calibredb data_files remove BOOK_ID NAME

rename と remove によって空になったディレクトリは削除されます。リモートライブラリでは各ファイルが1回のリクエストで転送されるため、非常に大きなファイルにはクライアントとサーバーの両方に十分なメモリが必要です。また、アップロードはサーバーの最大リクエストサイズによって制限されます。

スペースを含む引数を calibredb に渡す場合には、クォーテーションマークでくくってください。例: "/some path/with spaces"

--for-machine

ファイルの一覧を JSON で出力する

--name

追加するファイルに使用する名前 (データディレクトリからの相対パス)

--output

get アクションのローカルの保存先

--permanent

ゴミ箱を使用せずにデータファイルを完全に削除する

--replace

追加、取得、名前の変更の際に既存のファイルの置き換えを許可する