Como eu extraio vários arquivos de uma só vez?

0

Eu tenho vários arquivos rar armazenados assim:

/torrents/televisionshowS01E0$X/nameoftelevisionshow.rar

em que $ X é uma variável = {0,1,2, ..., 12}

Eu gostaria de extraí-los usando um único comando para um único diretório de saída ( /publicshare/ ).

Aqui está o que eu tenho até agora:

for i in find /torrents/televisionshowS01*/ -name *.rar; do unrar x "$i" /publicshare/;done

mas estou recebendo o seguinte resultado:

Cannot open /torrents/televisionshowS01E01/.rar
No such file or directory
No files to extract

No entanto, encontrar / torrents / televisionshowS01 * / -name * .rar retorna os caminhos corretos.

    
por curios 24.03.2014 / 02:00

1 resposta

0

Oh, olhando para o bashscript de outras pessoas, eu percebi que deveria ter backticks em torno do comando find. Assim,

for i in 'find /torrents/televisionshowS01*/ -name *.rar'; do unrar x "$i" /publicshare/; done

e, em seguida, o comando funcionou da maneira que eu queria. Embora eu ainda não tenha certeza, PORQUE, exatamente. Eu estou supondo que eles funcionam do jeito que os parênteses fariam em matemática. Obviamente, funcionou desta vez, mas por uma questão de boa prática eu deveria colocar os backticks em torno de unrar x "$i" /publicshare/

Obrigado

    
por 24.03.2014 / 02:22