Я использую macOS и я скачалунардля распаковки зашифрованных файлов rar. Это работает нормально для отдельных файлов, но я не могу заставить это работать с подстановочным знаком для нескольких файлов.
У меня есть список файлов rar с именами от 01 до 10 и исполняемый файл unar в текущей папке.
myArchive01.rar
myArchive02.rar
..
myArchive10.rar
Это отлично работает для одного файла:
$ ./unar -p myPassword myArchive01.rar
myArchive01.rar: RAR
myText.txt (1000 B)... OK.
Successfully extracted to "./myText.txt".
Но у меня не получается это сделать с кучей файлов:
$ ./unar -p myPassword myArchive*.rar
myArchive01.rar: RAR
No files extracted.
Конечно, я мог бы использовать встроенные пакетные функции в macOS, но мне хотелось бы узнать, как Unar делает это самостоятельно.
$ for i in {1..10}; do ./unar -p myPassword myArchive${i}.rar; done
Кто-нибудь может помочь?
решение1
Похоже, что подстановочные знаки действительно не принимаются, только список файлов.
Вы можете использовать команду find -exec для запуска команды unar для каждого найденного файла:
find . -name "*.rar" -exec unar {} \;
решение2
Вы можете использовать find и exec для последовательного извлечения файлов.
Например, find ./ -name myArchive* -exec unar -p myPassword {} \;
При этом используется find для поиска всех файлов, соответствующих шаблону имени, а затем выполняется команда после exec для каждого найденного результата.