Выполнение глубокого unrar архива с помощью команды unrar в Linux - PullRequest
0 голосов
/ 27 декабря 2011

Я использую следующую команду, чтобы разархивировать все файлы в rar-acrhive в каталог

unrar x -ep -y archive.rar folder

Она прекрасно работает и игнорирует структуру каталогов внутри архива, что мне и нужно.

Как мне сделать так, чтобы все файлы rar внутри архива были отменены, если они есть?

1 Ответ

3 голосов
/ 27 декабря 2011

Пробег find folder -name "*.rar" -exec unrar ... "{}" folder \;

"{}" заменяется именем архива, который найден find (unrar будет вызываться один раз за матч). \; сообщает find конец команды exec ute.

Замените ... нужными параметрами.

Вы можете выполнить это в цикле, чтобы сделать это, пока не останется никаких архивов:

while $(find folder -name "*.rar") != "" ; do
    find folder -name "*.rar" -exec unrar ... "{}" folder \;
done

Это не очень эффективно, если ваши архивы огромны. Для огромных архивов вы можете кэшировать результат первого find и использовать его в цикле вместо повторного поиска.

...