I am seeking advice regarding my ebook collection on a Linux system, which is stored on an external drive and sorted into categories. However, there are still many unsorted ebooks. I have tried using Calibre for organization, but it creates duplicate files during import on my main drive where I don’t want to keep any media. I would like to:

  • Use Calibre’s automatic organization (tags, etc.) without duplicating files
  • Maintain my existing folder structure while using Calibre
  • Automatically sort the remaining ebooks into my existing categories/folder structure

I am considering the use of symlinks to maintain the existing folder structure if there is a simple way to automate the process due to my very large collection.

Regarding automatic sorting by category, I am looking for a solution that doesn’t require manual organization or a significant time investment. I’m wondering if there’s a way to extract metadata based on file hashes or any other method that doesn’t involve manual work. Most of the files should have title and author metadata, but some won’t.

Has anyone encountered a similar problem and found a solution? I would appreciate any suggestions for tools, scripts, or workflows that might help. Thank you in advance for any advice!

  • rand_alpha19@moist.catsweat.com
    link
    fedilink
    arrow-up
    3
    ·
    21 days ago
    1. Open the Preferences in Calibre

    2. Click on “Saving books to Disk” (found under Import/Export)

    3. Make sure “Save cover separately,” “Update metadata in saved copies,” and “Save metadata in separate OPF file” are all unchecked.

    4. Adjust the “Save template” to the filename format that you prefer. You can use variables as folder names so, for example, {author_sort}/{title} would put everything by Stephen King in a folder titled “King, Stephen” and each book would be inside of a self-titled folder.

    5. Select all of the books you want, then click the floppy disk icon and save them to a temporary directory.

    6. Delete the old library, then import a new library (with the new filenames) from the temporary directory.

    7. Delete the temporary directory.

    Or you can just use symlinks. :P