我在 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 順序提取檔案。
例如。尋找 ./ -name myArchive* -exec unar -p myPassword {} \;
它的作用是使用 find 查找與名稱模式相符的所有文件,然後對每個找到的結果執行 exec 之後的命令。