Usando o calibre na linha de comando

2

Usando o calibre a partir da linha de comando, no teste debian, como posso inserir uma tag com a sintaxe

    ebook-meta ebook_file --tags rhubarb

mas para uma variedade de arquivos, mas todos do mesmo autor, só precisa da tag do nome dele / dela?

Isso é usado para indexar e ordenar livros em um Kindle.

    
por boudiccas 01.09.2013 / 06:31

2 respostas

2

A maneira mais fácil, assumindo que todos os arquivos relevantes estão no mesmo diretório, é:

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

Se os arquivos puderem estar em vários subdiretórios, use find (isso pressupõe que os únicos arquivos em todos os subdiretórios sejam ebooks. Como isso provavelmente não é verdade, você deve usar algo adicional como -name "*.ebook" ou qualquer extensão seus ebooks têm):

find . -type f -exec ebook-meta '{}' --tags rhubarb \;
    
por 01.09.2013 / 16:17
0

Você deve ter os e-books de um autor em um diretório. cd para este diretório uma execução:

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

se o nome do arquivo tiver espaços, você deve modificar o IFS (Internal Field Separator):

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

Ou o mesmo em um único comando:

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

    
por 01.09.2013 / 07:03