zl程序教程

您现在的位置是:首页 >  其他

当前栏目

【calibre】使用命令行批量创建、修改calibre 书籍

命令行批量 创建 修改 书籍 使用
2023-09-11 14:16:33 时间

背景:使用calibre 作为游戏仓库,记录游戏收藏情况

问题:一本一本的加速度太慢了

解决办法:使用calibre官方API批量添加

完成效果:

步骤:

1.查找官方API ebook-meta — calibre 5.32.0 documentation

2.批量创建书籍命令:

calibredb add --authors 作者--empty --title 测试switch --tags NS --series SWITCH --with-library /books   

3.批量修改书籍命令:

calibredb set_metadata -f publisher:realwang2 546  --with-library /books


546代表书籍ID

可修改参数:


opt/calibre # calibredb set_metadata --list-fields --with-library /books                                          
Title                                    Field name                                                                
                                                                                                                   
Author sort                              author_sort                                                               
Authors                                  authors                                                                   
Comments                                 comments                                                                  
Cover                                    cover                                                                     
Identifiers                              identifiers                                                               
Languages                                languages                                                                 
Published                                pubdate                                                                   
Publisher                                publisher                                                                 
Rating                                   rating                                                                    
Series                                   series                                                                    
Series Index                             series_index                                                              
Size                                     size                                                                      
Title sort                               sort                                                                      
Tags                                     tags                                                                      
Date                                     timestamp                                                                 
Title                                    title                                                                     
Cover                                    cover  

使用shell脚本批量执行

#!/bin/bash

input="/dir/file.csv"

while IFS=',' read -r var1 var2 var3 var4
do
  calibredb add --authors "$var1" --empty --title "$var2" --tags "$var3" --series "$var4" --with-library /books
done < "$input"

先创建再修改:

#!/bin/bash

# 逐行读取 CSV 文件并处理
while IFS=',' read -r author title tags series publisher book_id; do
  # 添加书籍
  calibredb add --authors "$author" --empty --title "$title" --tags "$tags" --series "$series" --with-library /books
  # 设置元数据
  calibredb set_metadata -f "publisher:$publisher" "$book_id" --with-library /books
done < /dir/file.csv

csv文件的范例:

author1,book title 1,tag1,series1,publisher1,book_id1
author2,book title 2,tag2,series2,publisher2,book_id2
author3,book title 3,tag3,series3,publisher3,book_id3
...

使用excel编辑命令,一次贴入或者贴入bash脚本执行:

4 批量删除书籍

for i in {555..562}; do calibredb remove --with-library /books "$i"; done

或者

calibredb remove --with-library /books	 555
calibredb remove --with-library /books	 556
calibredb remove --with-library /books	 557
calibredb remove --with-library /books	 558
calibredb remove --with-library /books	 559
calibredb remove --with-library /books	 560
calibredb remove --with-library /books	 561
calibredb remove --with-library /books	 562