calibredb - calibredb
calibredb command [options] [arguments]
calibredb is the command line interface to the calibre
database. It has several sub-commands, documented below.
calibredb can be used to manipulate either a calibre
database specified by path or a calibre Content server running either on the
local machine or over the internet. You can start a calibre Content server
using either the calibre-server program or in the main calibre
program click Connect/share → Start Content server.
Since calibredb can make changes to your calibre libraries, you must
setup authentication on the server first. There are two ways to do that:
- If you plan to connect only to a server running on the same computer, you
can simply use the --enable-local-write option of the content
server, to allow any program, including calibredb, running on the local
computer to make changes to your calibre data. When running the server
from the main calibre program, this option is in
Preferences → Sharing over the
net → Advanced.
- If you want to enable access over the internet, then you should setup user
accounts on the server and use the --username and --password
options to calibredb to give it access. You can setup user
authentication for calibre-server by using the --enable-auth
option and using --manage-users to create the user accounts. If you
are running the server from the main calibre program, use
Preferences → Sharing over the
net → Require username/password.
To connect to a running Content server, pass the URL of the server
to the --with-library option, see the documentation of that option
for details and examples.
- remove
- add_format
- remove_format
- show_metadata
- set_metadata
- export
- catalog
- saved_searches
- add_custom_column
- custom_columns
- remove_custom_column
- set_custom
- restore_database
- check_library
- list_categories
- backup_metadata
- clone
- embed_metadata
- search
グローバルオプション
- --library-path,
--with-library
- Calibreライブラリへのpath。デフォルトでは設定画面で指定されたpathが使用されます。リモートライブラリに対して操作を行うためにCalibreコンテンツサーバに接続することも可能です。コンテンツサーバに接続するには、http://hostname:port/#library_id
の形式のURLを指定します。例えば
http://localhost:8080/#mylibrary
のように指定します。library_id
はコンテンツサーバ上の接続したいライブラリのIDです。特殊な
library_id として -
を指定すると、そのサーバ上で利用可能なライブラリの一覧を表示できます。コンテンツサーバ経由でのアクセスを設定する方法について詳しくは
https://manual.calibre-ebook.com/generated/en/calibredb.html
を参照してください。
- --password
- Calibreコンテンツサーバ接続用パスワード。標準入力からパスワードを読み取るには、特殊文字
<stdin>
を使ってください。パスワードをファイルから読み込むには
<f:/path/to/file>
を使ってください。
(例えば先頭の <f:
に続けてファイルへのフルパスを記述し、最後に
> で閉じます。)
カギ括弧は必須です。使用するシェルによっては、必要に応じてエスケープしたり引用符で囲ってください。
- --timeout
- The timeout, in seconds, when connecting to a calibre library over the
network. The default is two minutes.
Calibreデータベースに存在する本のリスト
スペースを含む引数を
calibredb
に渡す場合には、クォーテーションマークでくくってください。例:
"/some path/with spaces"
- --fields,
-f
- データベース中の本の一覧を表示するときに表示するフィールド。フィールドをカンマ区切りで指定します。
指定可能なフィールド:
author_sort, authors, comments, cover, formats, identifiers, isbn,
languages, last_modified, pubdate, publisher, rating, series,
series_index, size, tags, timestamp, title, uuid
デフォルト: title,authors
特殊フィールド名
"all"
を指定するとすべてのフィールドを選択します。上記のビルトインフィールドの他、カスタムフィールドも
*field_name
として指定可能です。たとえば、カスタムフィールド
#rating
を表示させたいときには
*rating
と指定してください。
- --for-machine
- JSONフォーマットで出力します。JSONはコンピュータでの処理により適した形式です。このオプションを指定すると行幅とセパレーターオプションは無視されます。
- --prefix
- すべてのファイルパスのプレフィックス。デフォルトはライブラリフォルダへの絶対パス。
- --search,
-s
- 検索文字列で結果を絞り込む。検索文字列のフォーマットについては、ユーザマニュアルの検索関連のドキュメントを参照してください。デフォルトでは絞り込みを行いません。
- --sort-by
- 整列に使用するフィールド
使用可能フィールド:
author_sort, authors, comments, cover, formats, identifiers, isbn,
languages, last_modified, pubdate, publisher, rating, series,
series_index, size, tags, timestamp, title, uuid
デフォルト: id
calibredb add [options] file1 file2 file3 ...
指定したファイルをデータベースに追加する。ディレクトリを追加することもできます。下のディレクトリ関連オプションも参照してください。
スペースを含む引数を
calibredb
に渡す場合には、クォーテーションマークでくくってください。例:
"/some path/with spaces"
- --automerge,
-m
- If books with similar titles and authors are found, merge the incoming
formats (files) automatically into existing book records. A value of
"ignore" means duplicate formats are discarded. A
value of "overwrite" means duplicate formats in
the library are overwritten with the newly added files. A value of
"new_record" means duplicate formats are placed
into a new book record.
- --duplicates,
-d
- 本がすでにデータベースに存在する場合でも追加します。本のタイトルと著者に基づいて比較します。--automerge
オプションが優先します。
ディレクトリから追加
ディレクトリからの本の追加方法を設定します。デフォルトでは既知の電子書籍ファイルタイプの拡張子のファイルのみ追加します。
- --add
- ファイル名のglobパターンを指定し、ディレクトリからファイルを読み込むときに、指定パターンに一致したファイルは既知の電子書籍のファイルタイプでなくても追加します。複数のパターンを指定するために、複数回指定可能です。
- --ignore
- ファイル名のglobパターンを指定し、パターンに一致したファイルはディレクトリからファイルを読み込むときに無視します。複数のパターンを指定するために複数回指定可能です。たちとえば、*.pdf
と指定するとすべてのPDFファイルを無視します。
idsに指定された本をデータベースから削除。idsには数字をカンマ区切りで指定します
(本のIDはsearchコマンドで取得できます)。例:
23,34,57-85
(範囲で指定した場合、範囲の終端は含まれません)
スペースを含む引数を
calibredb
に渡す場合には、クォーテーションマークでくくってください。例:
"/some path/with spaces"
calibredb add_format [options] id ebook_file
ebook_file
で指定する電子書籍ファイルを、id
で指定された本の利用可能なフォーマットとして追加します。idはsearch
コマンドで取得できます。フォーマットがすでに存在する場合は、置換しないオプションを有効にした場合をのぞいて、置換されます。
スペースを含む引数を
calibredb
に渡す場合には、クォーテーションマークでくくってください。例:
"/some path/with spaces"
calibredb remove_format [options] id fmt
fmt
で指定したフォーマットを
id
で指定した本から削除します。id
は search
コマンドで取得できます。fmt
はLRF, TXT, EPUB
のようにファイルの拡張子で指定してください。本に指定したフォーマットがない場合、なにもしません。
スペースを含む引数を
calibredb
に渡す場合には、クォーテーションマークでくくってください。例:
"/some path/with spaces"
calibredb show_metadata [options] id
id
で指定された本の、Calibreのデータベースに保存された書誌情報を表示します。id
はsearch
コマンドで取得できるID番号です。
スペースを含む引数を
calibredb
に渡す場合には、クォーテーションマークでくくってください。例:
"/some path/with spaces"
calibredb set_metadata [options] id [/path/to/metadata.opf]
id で指定された本のCalibreのデータベースに保存された書誌情報に
metadata.opf
で指定したOPFファイルの内容を設定します。
id はsearch
コマンドで取得できるID番号です。
OPF
ファイルについて簡単に知りたい場合は、show_metadata
コマンドの
--as-opfオプションを使用してみてください。
--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
で指定してください。
calibredb export [options] ids
指定したID(カンマ区切りリスト)の本をファイルシステムにエクスポートします。
エクスポート処理では、すべてのフォーマットと表紙と書誌情報(OPFファイル)を
保存します。 ID番号は
search
コマンドで取得できます。
スペースを含む引数を
calibredb
に渡す場合には、クォーテーションマークでくくってください。例:
"/some path/with spaces"
- --all
- IDのリストを無視してデータベースからすべての本をエクスポートします。
- --dont-asciiize
- Have calibre convert all non English characters into English equivalents
for the file names. This is useful if saving to a legacy filesystem
without full support for Unicode filenames.
このスイッチ指定すると、この挙動をOFFにできます。
- --dont-write-opf
- 通常、Calibreは電子書籍ファイル本体に付随する別個のOPFファイルに書誌情報を書き込みます。
このスイッチ指定すると、この挙動をOFFにできます。
- --formats
- 各本を保存する時のカンマ区切りのフォーマットのリスト。デフォルトではすべての存在するフォーマットが保存されます。
- --template
- 保存されるファイルの、ファイル名とディレクトリ構造を指定するテンプレート。デフォルトは"{author_sort}/{title}/{title}
-
{authors}"で、これは本を著者別のディレクトリに入れ、タイトルと著者名のファイル名をつけます。使用可能な操作は:{author_sort,
authors, id, isbn, languages, last_modified, pubdate, publisher, rating,
series, series_index, tags, timestamp, title}
- --timefmt
- 日付表示時のフォーマット。
%d - 日, %b - 月(の名前), %m -
月の番号, %Y - 年.
デフォルト: %b, %Y
- --to-dir
- 本を指定したディレクトリにエクスポートします。デフォルト:
.
calibredb catalog /path/to/destination.(csv|epub|mobi|xml...) [options]
Export a catalog in format specified by path/to/destination
extension. Options control how entries are displayed in the generated
catalog output. Note that different catalog formats support
different sets of options. To see the different options, specify the name of
the output file and then the --help option.
スペースを含む引数を
calibredb
に渡す場合には、クォーテーションマークでくくってください。例:
"/some path/with spaces"
- --ids, -i
- カタログに対するカンマ区切りのデータベースID。
宣言する場合は、:option:
`
--search`は無視されます。
デフォルト: all
- --search,
-s
- 結果を検索文字列で絞り込みします。検索文字列のフォーマットについては、ユーザマニュアルの検索関連ドキュメントを参照してください。
デフォルト:
絞り込みなし
- --catalog-title
- 書誌情報のタイトルとして使われる、生成されたカタログのタイトル。
デフォルト: 'My Books'
適用: 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出力形式
- 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出力形式
calibredb saved_searches [options] (list|add|remove)
データベースに格納された保存済み検索条件の管理。
既存の名称で検索条件を保存しようとした場合には、上書きされます。
追加の構文:
calibredb saved_searches add search_name
search_expression
削除の構文:
calibredb saved_searches remove search_name
スペースを含む引数を
calibredb
に渡す場合には、クォーテーションマークでくくってください。例:
"/some path/with spaces"
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の時のみ有効です。
calibredb custom_columns [options]
利用可能なカスタム列の一覧を表示。列ラベルとIDを表示します。
スペースを含む引数を
calibredb
に渡す場合には、クォーテーションマークでくくってください。例:
"/some path/with spaces"
calibredb remove_custom_column [options] label
labelで指定されるカスタム列を削除。
custom_columns
コマンドで存在するカスタム列を見ることができます。
スペースを含む引数を
calibredb
に渡す場合には、クォーテーションマークでくくってください。例:
"/some path/with spaces"
calibredb set_custom [options] column id value
idで指定された本のカスタム列の値を設定します。
search
コマンドでIDのリストが取得できます。
custom_columns
コマンドでカスタム列の名前のリストが取得できます。
スペースを含む引数を
calibredb
に渡す場合には、クォーテーションマークでくくってください。例:
"/some path/with spaces"
- --append,
-a
- もし列に複数の値を設定できる場合、値を指定した値に入れ替えるのではなく、すでにある値に付け加えます。
calibredb restore_database [options]
Calibreライブラリの各ディレクトリに保存されているOPFファイルから書誌情報を読み取り、データベースをリストアします。
これはmetadata.dbファイルが壊れてしまった時に有用です。
注意:
このコマンドを実行すると、データベースを完全に再生成します。すべての保存済み検索条件、ユーザカテゴリ、書誌情報変換ルール、書誌ごとの変換設定、カスタムレシピは失われます。リストアされる書誌情報は、OPFファイルの内容と同等となります。
スペースを含む引数を
calibredb
に渡す場合には、クォーテーションマークでくくってください。例:
"/some path/with spaces"
calibredb check_library [options]
ライブラリのあるファイルシステムをチェックします。レポート:invalid_titles,
extra_titles, invalid_authors, extra_authors, missing_formats,
extra_formats, extra_files, missing_covers, extra_covers, failed_folders
スペースを含む引数を
calibredb
に渡す場合には、クォーテーションマークでくくってください。例:
"/some path/with spaces"
calibredb list_categories [options]
データベース中のカテゴリ情報のレポートを作成します。情報はタグブラウザに表示されるものと同等です。
スペースを含む引数を
calibredb
に渡す場合には、クォーテーションマークでくくってください。例:
"/some path/with spaces"
- --dialect
- DSVファイルのタイプ。選択肢:
excel, excel-tab, unix
calibredb backup_metadata [options]
データベースに保存された書誌情報のバックアップを、それぞれの本の
ディレクトリに個別のOPFファイルとして保存します。
通常この処理は自動的に行われますが、--allオプションを
つけて実行すると、強制的にOPFファイルの再生成が実行できます。
通常は書誌情報を更新する毎にOPFファイルへのバックアップが自動的に
行われるため、このコマンドを実行する必要はありません。
スペースを含む引数を
calibredb
に渡す場合には、クォーテーションマークでくくってください。例:
"/some path/with spaces"
- --all
- 通常このコマンドは、古くなったOPFファイルに対してのみ実行されます。このオプションを指定すると、すべての本に対して実行されます。
calibredb clone path/to/new/library
現在のライブラリの複製を作成します。現在のライブラリと
列、仮想ライブラリ、その他の設定が同じである、新しい空の
ライブラリが作成されます。
複製されたライブラリに本は含まれません。すべての本を含む複製を
作成したい場合には、単にライブラリのフォルダをコピーしてください。
スペースを含む引数を
calibredb
に渡す場合には、クォーテーションマークでくくってください。例:
"/some path/with spaces"
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
- 指定したフォーマットのファイルのみ書誌情報を更新します。複数のフォーマットを指定する場合は、オプションを複数回指定してください。デフォルトでは、すべてのフォーマットが更新されます。
calibredb search [options] search expression
検索条件を指定してライブラリを検索し、結果を本のIDのカンマ区切りリストで返します。出力された結果は、本のIDを引数にとる他のコマンドの入力として使用するのに便利です。以下のようにCalibreの強力な検索用言語が使用できます。例:
calibredb search author:asimov 'title:"i robot"'
スペースを含む引数を
calibredb
に渡す場合には、クォーテーションマークでくくってください。例:
"/some path/with spaces"