bionic (1) calibredb.1.gz

Provided by: calibre_3.21.0+dfsg-1build1_all bug

NAME

       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.

       • Global OptionslistaddAdding From Directoriesremoveadd_formatremove_formatshow_metadataset_metadataexportcatalogEpub Optionssaved_searchesadd_custom_columncustom_columnsremove_custom_columnset_customrestore_databasecheck_librarylist_categoriesbackup_metadatacloneembed_metadatasearch

GLOBAL OPTIONS

       --help, -h
              show this help message and exit

       --library-path, --with-library
              Path to the calibre library. Default is to use the path stored  in  the  settings.  You  can  also
              connect  to a calibre Content server to perform actions on remote libraries. To do so use a URL of
              the  form:   http://hostname:port/#library_id   for   example,   http://localhost:8080/#mylibrary.
              library_id  is the library id of the library you want to connect to on the Content server. You can
              use the special library_id value of - to get a list of library ids available on  the  server.  For
              details      on      how     to     setup     access     via     a     Content     server,     see
              https://manual.calibre-ebook.com/generated/en/calibredb.html.

       --password
              Password for connecting to a calibre Content server. To read the password from standard input, use
              the  special  value:  <stdin>.  To read the password from a file, use: <f:/path/to/file> (i.e. <f:
              followed by the full path to the file and a trailing >). The  angle  brackets  in  the  above  are
              required, remember to escape them or use quotes for your shell.

       --username
              Username for connecting to a calibre Content server

       --version
              show program's version number and exit

LIST

          calibredb list [options]

       List the books available in the calibre database.

       Whenever  you  pass  arguments  to calibredb that have spaces in them, enclose the arguments in quotation
       marks. For example: "/some path/with spaces"

       --ascending
              Sort results in ascending order

       --fields, -f
              The fields to display when listing books in the database. Should be  a  comma  separated  list  of
              fields.  Available  fields:  author_sort,  authors,  comments,  cover, formats, identifiers, isbn,
              languages, last_modified, pubdate, publisher, rating, series, series_index, size, tags, timestamp,
              title,  uuid  Default: title,authors. The special field "all" can be used to select all fields. In
              addition to the builtin fields above,  custom  fields  are  also  available  as  *field_name,  for
              example, for a custom field #rating, use the name: *rating

       --for-machine
              Generate  output in JSON format, which is more suitable for machine parsing. Causes the line width
              and separator options to be ignored.

       --limit
              The maximum number of results to display. Default: all

       --line-width, -w
              The maximum width of a single line in the output. Defaults to detecting screen size.

       --prefix
              The prefix for all file paths. Default is the absolute path to the library folder.

       --search, -s
              Filter the results by the search query. For the format of the search query, please see the  search
              related documentation in the User Manual. Default is to do no filtering.

       --separator
              The string used to separate fields. Default is a space.

       --sort-by
              The  field  by which to sort the results. Available fields: author_sort, authors, comments, cover,
              formats,  identifiers,  isbn,  languages,  last_modified,  pubdate,  publisher,  rating,   series,
              series_index, size, tags, timestamp, title, uuid Default: id

ADD

          calibredb add [options] file1 file2 file3 ...

       Add  the  specified  files  as books to the database. You can also specify directories, see the directory
       related options below.

       Whenever you pass arguments to calibredb that have spaces in them, enclose  the  arguments  in  quotation
       marks. For example: "/some path/with spaces"

       --authors, -a
              Set the authors of the added book(s)

       --cover, -c
              Path to the cover to use for the added book

       --duplicates, -d
              Add books to database even if they already exist. Comparison is done based on book titles.

       --empty, -e
              Add an empty book (a book with no formats)

       --identifier, -I
              Set the identifiers for this book, for e.g. -I asin:XXX -I isbn:YYY

       --isbn, -i
              Set the ISBN of the added book(s)

       --languages, -l
              A comma separated list of languages (best to use ISO639 language codes, though some language names
              may also be recognized)

       --series, -s
              Set the series of the added book(s)

       --series-index, -S
              Set the series number of the added book(s)

       --tags, -T
              Set the tags of the added book(s)

       --title, -t
              Set the title of the added book(s)

   Adding From Directories
       Options to control the adding of books from directories. By default only files that  have  extensions  of
       known e-book file types are added.

       --add  A filename (glob) pattern, files matching this pattern will be added when scanning directories for
              files, even if they are not of a known e-book file type.  Can  be  specified  multiple  times  for
              multiple patterns.

       --ignore
              A  filename  (glob) pattern, files matching this pattern will be ignored when scanning directories
              for files. Can be specified multiple times for multiple patterns. For e.g.: *.pdf will ignore  all
              pdf files

       --one-book-per-directory, -1
              Assume  that  each directory has only a single logical book and that all files in it are different
              e-book formats of that book

       --recurse, -r
              Process directories recursively

REMOVE

          calibredb remove ids

       Remove the books identified by ids from the database. ids should be a comma separated list of id  numbers
       (you  can get id numbers by using the search command). For example, 23,34,57-85 (when specifying a range,
       the last number in the range is not included).

       Whenever you pass arguments to calibredb that have spaces in them, enclose  the  arguments  in  quotation
       marks. For example: "/some path/with spaces"

       --permanent
              Do not use the recycle bin

ADD_FORMAT

          calibredb add_format [options] id ebook_file

       Add  the e-book in ebook_file to the available formats for the logical book identified by id. You can get
       id by using the search command. If the format already exists, it is replaced, unless the do  not  replace
       option is specified.

       Whenever  you  pass  arguments  to calibredb that have spaces in them, enclose the arguments in quotation
       marks. For example: "/some path/with spaces"

       --dont-replace
              Do not replace the format if it already exists

REMOVE_FORMAT

          calibredb remove_format [options] id fmt

       Remove the format fmt from the logical book identified by id. You can get id by using the search command.
       fmt  should be a file extension like LRF or TXT or EPUB. If the logical book does not have fmt available,
       do nothing.

       Whenever you pass arguments to calibredb that have spaces in them, enclose  the  arguments  in  quotation
       marks. For example: "/some path/with spaces"

SHOW_METADATA

          calibredb show_metadata [options] id

       Show  the metadata stored in the calibre database for the book identified by id.  id is an id number from
       the search command.

       Whenever you pass arguments to calibredb that have spaces in them, enclose  the  arguments  in  quotation
       marks. For example: "/some path/with spaces"

       --as-opf
              Print metadata in OPF form (XML)

SET_METADATA

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

       Set  the  metadata  stored  in  the  calibre  database  for  the  book identified by id from the OPF file
       metadata.opf. id is an id number from the search command. You can get a quick feel for the OPF format  by
       using  the  --as-opf  switch  to  the  show_metadata command. You can also set the metadata of individual
       fields with the --field option. If you use the --field option, there is no need to specify an OPF file.

       Whenever you pass arguments to calibredb that have spaces in them, enclose  the  arguments  in  quotation
       marks. For example: "/some path/with spaces"

       --field, -f
              The   field  to  set.  Format  is  field_name:value,  for  example:  --field  tags:tag1,tag2.  Use
              --list-fields to get a list of all field names. You can specify this option multiple times to  set
              multiple  fields. Note: For languages you must use the ISO639 language codes (e.g. en for English,
              fr for French and so on). For identifiers, the syntax is --field  identifiers:isbn:XXXX,doi:YYYYY.
              For boolean (yes/no) fields use true and false or yes and no.

       --list-fields, -l
              List the metadata field names that can be used with the --field option

EXPORT

          calibredb export [options] ids

       Export the books specified by ids (a comma separated list) to the filesystem.  The export operation saves
       all formats of the book, its cover and metadata (in an opf file). You can get id numbers from the  search
       command.

       Whenever  you  pass  arguments  to calibredb that have spaces in them, enclose the arguments in quotation
       marks. For example: "/some path/with spaces"

       --all  Export all books in database, ignoring the list of ids.

       --dont-asciiize
              Normally, calibre will convert all non English characters into English equivalents  for  the  file
              names. WARNING: If you turn this off, you may experience errors when saving, depending on how well
              the filesystem you are saving to supports unicode. Specifying this switch will turn this  behavior
              off.

       --dont-save-cover
              Normally,  calibre  will  save  the  cover  in a separate file along with the actual e-book files.
              Specifying this switch will turn this behavior off.

       --dont-update-metadata
              Normally, calibre will update the metadata in the saved files from what is in the calibre library.
              Makes saving to disk slower. Specifying this switch will turn this behavior off.

       --dont-write-opf
              Normally,  calibre  will  write the metadata into a separate OPF file along with the actual e-book
              files. Specifying this switch will turn this behavior off.

       --formats
              Comma separated list of formats to save for each book. By default all available formats are saved.

       --progress
              Report progress

       --replace-whitespace
              Replace whitespace with underscores.

       --single-dir
              Export all books into a single directory

       --template
              The template to control the filename and directory  structure  of  the  saved  files.  Default  is
              "{author_sort}/{title}/{title}  -  {authors}" which will save books into a per-author subdirectory
              with filenames containing title and author. Available controls  are:  {author_sort,  authors,  id,
              isbn, languages, last_modified, pubdate, publisher, rating, series, series_index, tags, timestamp,
              title}

       --timefmt
              The format in which to display dates. %d - day, %b - month, %m - month number, %Y - year.  Default
              is: %b, %Y

       --to-dir
              Export books to the specified directory. Default is .

       --to-lowercase
              Convert paths to lowercase.

CATALOG

          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.

       Whenever  you  pass  arguments  to calibredb that have spaces in them, enclose the arguments in quotation
       marks. For example: "/some path/with spaces"

       --ids, -i
              Comma-separated list of database IDs to catalog. If declared, --search is ignored. Default: all

       --search, -s
              Filter the results by the search query. For the  format  of  the  search  query,  please  see  the
              search-related documentation in the User Manual. Default: no filtering

       --verbose, -v
              Show detailed output information. Useful for debugging

   Epub Options
       --catalog-title
              Title  of generated catalog used as title in metadata. Default: 'My Books' Applies to: AZW3, EPUB,
              MOBI output formats

       --cross-reference-authors
              Create cross-references in Authors section for  books  with  multiple  authors.  Default:  'False'
              Applies to: AZW3, EPUB, MOBI output formats

       --debug-pipeline
              Save  the  output  from  different  stages  of the conversion pipeline to the specified directory.
              Useful if you are unsure at which stage of the conversion process a  bug  is  occurring.  Default:
              'None' Applies to: AZW3, EPUB, MOBI output formats

       --exclude-genre
              Regex  describing  tags  to  exclude  as genres. Default: '[.+]|^+$' excludes bracketed tags, e.g.
              '[Project Gutenberg]', and '+', the default tag for read  books.  Applies  to:  AZW3,  EPUB,  MOBI
              output formats

       --exclusion-rules
              Specifies  the  rules used to exclude books from the generated catalog. The model for an exclusion
              rule is either ('<rule name>','Tags','<comma-separated list of tags>') or ('<rule  name>','<custom
              column>','<pattern>'). For example: (('Archived books','#status','Archived'),) will exclude a book
              with a value of 'Archived' in the custom column 'status'. When multiple  rules  are  defined,  all
              rules  will  be applied. Default:  "(('Catalogs','Tags','Catalog'),)" Applies to: AZW3, EPUB, MOBI
              output formats

       --generate-authors
              Include 'Authors' section in catalog. Default: 'False' Applies to: AZW3, EPUB, MOBI output formats

       --generate-descriptions
              Include 'Descriptions' section in catalog. Default: 'False' Applies to: AZW3,  EPUB,  MOBI  output
              formats

       --generate-genres
              Include 'Genres' section in catalog. Default: 'False' Applies to: AZW3, EPUB, MOBI output formats

       --generate-recently-added
              Include  'Recently Added' section in catalog. Default: 'False' Applies to: AZW3, EPUB, MOBI output
              formats

       --generate-series
              Include 'Series' section in catalog. Default: 'False' Applies to: AZW3, EPUB, MOBI output formats

       --generate-titles
              Include 'Titles' section in catalog. Default: 'False' Applies to: AZW3, EPUB, MOBI output formats

       --genre-source-field
              Source field for 'Genres' section. Default: 'Tags' Applies to: AZW3, EPUB, MOBI output formats

       --header-note-source-field
              Custom field containing note text to insert in Description header. Default: '' Applies  to:  AZW3,
              EPUB, MOBI output formats

       --merge-comments-rule
              #<custom  field>:[before|after]:[True|False]  specifying:   <custom field> Custom field containing
              notes to merge  with  Comments   [before|after]  Placement  of  notes  with  respect  to  Comments
              [True|False]  - A horizontal rule is inserted between notes and Comments Default: '::' Applies to:
              AZW3, EPUB, MOBI output formats

       --output-profile
              Specifies the output profile. In some cases, an output profile is required to optimize the catalog
              for  the  device. For example, 'kindle' or 'kindle_dx' creates a structured Table of Contents with
              Sections and Articles. Default: 'None' Applies to: AZW3, EPUB, MOBI output formats

       --prefix-rules
              Specifies the rules used to include prefixes indicating  read  books,  wishlist  items  and  other
              user-specified   prefixes.   The   model   for   a   prefix   rule   is   ('<rule  name>','<source
              field>','<pattern>','<prefix>'). When multiple rules are defined, the first matching rule will  be
              used.  Default:  "(('Read books','tags','+',''),('Wishlist item','tags','Wishlist','×'))" Applies
              to: AZW3, EPUB, MOBI output formats

       --preset
              Use a named preset created with the GUI catalog builder.  A  preset  specifies  all  settings  for
              building a catalog. Default: 'None' Applies to: AZW3, EPUB, MOBI output formats

       --thumb-width
              Size  hint  (in  inches)  for  book covers in catalog. Range: 1.0 - 2.0 Default: '1.0' Applies to:
              AZW3, EPUB, MOBI output formats

       --use-existing-cover
              Replace existing cover when generating the catalog. Default: 'False' Applies to: AZW3, EPUB,  MOBI
              output formats

SAVED_SEARCHES

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

       Manage  the  saved  searches stored in this database.  If you try to add a query with a name that already
       exists, it will be replaced.

       Syntax for adding:

       calibredb saved_searches add search_name search_expression

       Syntax for removing:

       calibredb saved_searches remove search_name

       Whenever you pass arguments to calibredb that have spaces in them, enclose  the  arguments  in  quotation
       marks. For example: "/some path/with spaces"

ADD_CUSTOM_COLUMN

          calibredb add_custom_column [options] label name datatype

       Create  a  custom  column. label is the machine friendly name of the column. Should not contain spaces or
       colons. name is the human friendly name of the column.  datatype is one of:  bool,  comments,  composite,
       datetime, enumeration, float, int, rating, series, text

       Whenever  you  pass  arguments  to calibredb that have spaces in them, enclose the arguments in quotation
       marks. For example: "/some path/with spaces"

       --display
              A dictionary of options to customize how the data in this column will be interpreted.  This  is  a
              JSON  string. For enumeration columns, use --display"{\ "enum_values\ ":[\ "val1\ ", \ "val2\ "]}"
              There are many options that can go into the display  variable.The  options  by  column  type  are:
              composite:   composite_template,   composite_sort,   make_category,contains_html,  use_decorations
              datetime:  date_format  enumeration:  enum_values,  enum_colors,   use_decorations   int,   float:
              number_format  text:  is_names,  use_decorations   The  best  way to find legal combinations is to
              create a custom column of the appropriate type in the GUI then look at the backup OPF for  a  book
              (ensure that a new OPF has been created since the column was added). You will see the JSON for the
              "display" for the new column in the OPF.

       --is-multiple
              This column stores tag like data (i.e. multiple comma separated values). Only applies if  datatype
              is text.

CUSTOM_COLUMNS

          calibredb custom_columns [options]

       List available custom columns. Shows column labels and ids.

       Whenever  you  pass  arguments  to calibredb that have spaces in them, enclose the arguments in quotation
       marks. For example: "/some path/with spaces"

       --details, -d
              Show details for each column.

REMOVE_CUSTOM_COLUMN

          calibredb remove_custom_column [options] label

       Remove the custom column identified by label. You can  see  available  columns  with  the  custom_columns
       command.

       Whenever  you  pass  arguments  to calibredb that have spaces in them, enclose the arguments in quotation
       marks. For example: "/some path/with spaces"

       --force, -f
              Do not ask for confirmation

SET_CUSTOM

          calibredb set_custom [options] column id value

       Set the value of a custom column for the book identified by id.  You can get a  list  of  ids  using  the
       search command.  You can get a list of custom column names using the custom_columns command.

       Whenever  you  pass  arguments  to calibredb that have spaces in them, enclose the arguments in quotation
       marks. For example: "/some path/with spaces"

       --append, -a
              If the column stores multiple values, append the specified values to the existing ones, instead of
              replacing them.

RESTORE_DATABASE

          calibredb restore_database [options]

       Restore  this  database  from  the metadata stored in OPF files in each directory of the calibre library.
       This is useful if your metadata.db file has been corrupted.

       WARNING: This command completely regenerates your database.  You  will  lose  all  saved  searches,  user
       categories,  plugboards,  stored per-book conversion settings, and custom recipes. Restored metadata will
       only be as accurate as what is found in the OPF files.

       Whenever you pass arguments to calibredb that have spaces in them, enclose  the  arguments  in  quotation
       marks. For example: "/some path/with spaces"

       --really-do-it, -r
              Really do the recovery. The command will not run unless this option is specified.

CHECK_LIBRARY

          calibredb check_library [options]

       Perform  some  checks on the filesystem representing a library. Reports are invalid_titles, extra_titles,
       invalid_authors,   extra_authors,   missing_formats,    extra_formats,    extra_files,    missing_covers,
       extra_covers, failed_folders

       Whenever  you  pass  arguments  to calibredb that have spaces in them, enclose the arguments in quotation
       marks. For example: "/some path/with spaces"

       --csv, -c
              Output in CSV

       --ignore_extensions, -e
              Comma-separated list of extensions to ignore. Default: all

       --ignore_names, -n
              Comma-separated list of names to ignore. Default: all

       --report, -r
              Comma-separated list of reports. Default: all

LIST_CATEGORIES

          calibredb list_categories [options]

       Produce a report of the category information in the database. The information is the equivalent  of  what
       is shown in the tags pane.

       Whenever  you  pass  arguments  to calibredb that have spaces in them, enclose the arguments in quotation
       marks. For example: "/some path/with spaces"

       --categories, -r
              Comma-separated list of category lookup names. Default: all

       --csv, -c
              Output in CSV

       --dialect
              The type of CSV file to produce. Choices: excel, excel-tab

       --item_count, -i
              Output only the number of items in a category instead of the counts per item within the category

       --width, -w
              The maximum width of a single line in the output. Defaults to detecting screen size.

BACKUP_METADATA

          calibredb backup_metadata [options]

       Backup the metadata stored in the database into individual  OPF  files  in  each  books  directory.  This
       normally  happens  automatically,  but  you can run this command to force re-generation of the OPF files,
       with the --all option.

       Note that there is normally no need to do this, as the OPF files are backed up automatically, every  time
       metadata is changed.

       Whenever  you  pass  arguments  to calibredb that have spaces in them, enclose the arguments in quotation
       marks. For example: "/some path/with spaces"

       --all  Normally, this command only operates on books that have out of date OPF files. This  option  makes
              it operate on all books.

CLONE

          calibredb clone path/to/new/library

       Create  a  clone  of  the current library. This creates a new, empty library that has all the same custom
       columns, virtual libraries and other settings as the current library.

       The cloned library will contain no books. If you want to create a full duplicate,  including  all  books,
       then simply use your filesystem tools to copy the library folder.

       Whenever  you  pass  arguments  to calibredb that have spaces in them, enclose the arguments in quotation
       marks. For example: "/some path/with spaces"

EMBED_METADATA

          calibredb embed_metadata [options] book_id

       Update the metadata in the actual book files stored in the calibre  library  from  the  metadata  in  the
       calibre  database.  Normally, metadata is updated only when exporting files from calibre, this command is
       useful if you want the files to be updated in place. Note that different file formats  support  different
       amounts of metadata. You can use the special value 'all' for book_id to update metadata in all books. You
       can also specify many book ids separated by spaces and id  ranges  separated  by  hyphens.  For  example:
       calibredb embed_metadata 1 2 10-15 23

       Whenever  you  pass  arguments  to calibredb that have spaces in them, enclose the arguments in quotation
       marks. For example: "/some path/with spaces"

       --only-formats, -f
              Only update metadata in files of the specified format. Specify  it  multiple  times  for  multiple
              formats. By default, all formats are updated.

          calibredb search [options] search expression

       Search  the  library for the specified search term, returning a comma separated list of book ids matching
       the search expression. The output format is useful to feed into other commands that accept a list of  ids
       as input.

       The  search  expression  can  be  anything  from  calibre's  powerful search query language, for example:
       author:asimov title:robot

       Whenever you pass arguments to calibredb that have spaces in them, enclose  the  arguments  in  quotation
       marks. For example: "/some path/with spaces"

       --limit, -l
              The maximum number of results to return. Default is all results.

AUTHOR

       Kovid Goyal

       Kovid Goyal