Encontre e execute usando variável puxada

0

Até agora eu tenho um script em lote simples que move arquivos * .mkv de suas pastas de origem para uma pasta chamada "Filmes". Agora eu gostaria que o FileBot renomeeasse usando o comando 'find', já que ele (filebot) não parece suportar expressões regulares. Como eu teria o bash puxando uma variável de nome de arquivo (não tenho certeza se isso é uma coisa haha) e usá-lo em find -exec "$ FILENAME" tipo de padrão?

Aqui está o que eu tenho (o pseudo é comentado), tenho certeza de que há uma maneira mais eficiente de fazer isso. Mas ei, eu sou um codificador python NÃO é um scripter bash!

mkdir "Movies"
find "Complete/" -iname "*.mkv" -exec mv {} "Movies" \;
#find "Movies/" -iname "*.mkv" -exec filebot -rename "$iname" --db themoviedb"

Eu preciso dos comandos mv e filebot para serem executados separadamente, pois eventualmente mais comandos serão chamados entre eles.

    
por user1652011 30.12.2012 / 01:16

1 resposta

1

Em primeiro lugar, para a segunda linha, o mv também leva curingas, então você pode simplesmente usar

% bl0ck_qu0te%

É possível que o filebot também tenha curingas? ou seja, filebot Movies / *. mkv? Caso contrário, em vez de "$ iname", você deseja {} novamente. Como você provavelmente sabe, {} substitui o nome do arquivo encontrado, que é o mesmo que * .mkv aqui. Portanto,

% bl0ck_qu0te%

N.B. use -execdir em vez de -exec por motivos de segurança. Na página do manual:

% bl0ck_qu0te%     
por Sparhawk 30.12.2012 / 02:26