Eu tenho vários arquivos rar armazenados assim:
/torrents/televisionshowS01E0$X/nameoftelevisionshow.rar
onde $X é uma variável ={0,1,2,...,12}
Gostaria de extraí-los usando um único comando para um único diretório de saída ( /publicshare/
).
Aqui está o que tenho até agora:
for i in find /torrents/televisionshowS01*/ -name *.rar; do unrar x "$i" /publicshare/;done
mas estou obtendo o seguinte resultado:
Cannot open /torrents/televisionshowS01E01/.rar
No such file or directory
No files to extract
No entanto, find /torrents/televisionshowS01*/ -name *.rar retorna caminhos corretos.
Responder1
Ah, olhando para o bashscript de outras pessoas, percebi que deveria haver crases em torno do comando find. Igual a,
for i in `find /torrents/televisionshowS01*/ -name *.rar`; do unrar x "$i" /publicshare/; done
e então o comando funcionou da maneira que eu desejava. Porém, ainda não tenho certeza do PORQUÊ, exatamente. Presumo que funcionem da mesma forma que os parênteses funcionariam em matemática. Obviamente, funcionou desta vez, mas por uma questão de boa prática, eu deveria ter colocado crases unrar x "$i" /publicshare/
?
Obrigado