从命令行使用 calibre

从命令行使用 calibre

从命令行使用 calibre,在 debian 测试中,如何插入语法为的标签

    ebook-meta ebook_file --tags rhubarb

但对于一系列文件,但全部由同一作者编写,所以只需要他/她的名字标签?

这用于对 Kindle 上的书籍进行索引和排序。

答案1

假设所有相关文件都位于同一目录中,最简单的方法是:

for f in *; do ebook-meta "$f" --tags rhubarb

如果文件可以位于各个子目录中,请使用find(这假设所有子目录中的唯一文件都是电子书。由于这可能不是真的,因此您应该使用其他类似的东西-name "*.ebook"或电子书具有的任何扩展名):

find . -type f -exec ebook-meta '{}' --tags rhubarb \;

答案2

您的目录中必须有作者的电子书。cd到这个目录运行:

for var in $(ls); do ebook-meta $var --tags rhubarb; done

如果文件名有空格,则必须修改IFS(内部字段分隔符):

oldIFS=$IFS
IFS='\n'
for var in $(ls); do ebook-meta $var --tags rhubarb; done
IFS=$oldIFS

或者在单个命令中执行相同的操作:

oldIFS=$IFS && IFS='\n' && for var in $(ls); do ebook-meta $var --tags rhubarb; done && IFS=$oldIFS

相关内容