У меня есть несколько RAR-файлов, которые хранятся примерно так:

/torrents/televisionshowS01E0$X/nameoftelevisionshow.rar

где $ X - переменная = {0,1,2, ..., 12}

Я хотел бы извлечь их с помощью одной команды в один выходной каталог (/publicshare/).

Вот что у меня так далеко:

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

но я получаю следующий результат:

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

Однако команда find /torrents /levisionshowS01 * / -name * .rar возвращает правильные пути.

1 ответ1

0

О, глядя на bashscript других людей, я понял, что у меня должны быть галочки вокруг команды find. Вот так,

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

и затем команда функционировала так, как я хотел. Хотя, я все еще не уверен, ПОЧЕМУ, точно. Я предполагаю, что они работают так же, как скобки в математике. Очевидно, на этот раз это сработало, но в качестве хорошей практики я должен был поставить галочку вокруг unrar x "$i" /publicshare/?

Спасибо

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .