我正在寻找一种方法,将一本书作为 epub 文件,并将其分解为一系列较小的 epub 文件,每个章节都是如此?我知道Sigil 和 calibre 的 Epubsplit 插件的其他可用选项,但它们似乎都是通过 GUI 工作的,这使得无法在脚本中对数百或数千个文件运行它们。
有没有办法用 calibre 提供的命令行工具(如 ebook-convert)来做到这一点,这样我就可以调用类似
ebook-convert someBook.epub --splitIntoChapters
并得到类似 chapter1.epub、chapter2.epub、chapter3.epub... 等内容?
答案1
也许是一个旧的 perl 库libebook-tools-perl
?
man ebook(1p)
有一些例子,从中得到启发,像这样的事情可能会起作用:
ebook unpack mybook.pdb my_book
cd my_book
mkdir split
# split document by chapters somehow with sed/awk/perl/python
cd ..
for i in my_book/split/*.xhtml; do
base=$(basename $i ".xhtml)
echo "generate $base"
ebook blank $base.opf --title "My Title" --author "My Name"
cp $i .
ebook adddoc $base.xhtml
done
ebook fix
ebook genepub