linux - 在 Linux 中使用 unrar 命令对存档文件进行深度解压

标签 linux unrar

我使用以下命令将 rar-acrhive 中的所有文件解压缩到一个目录

unrar x -ep -y archive.rar folder

它工作得很好,它忽略了存档中的目录结构,这正是我想要的。

如果有的话,我该如何解压压缩包中的所有 rar 文件?

最佳答案

运行 find folder -name "*.rar"-exec unrar ... "{}"folder\;

"{}" 被替换为 find 找到的存档的名称(unrar 将在每次匹配时调用一次)。 \; 告诉 find 命令的结尾以execute。

... 替换为您想要的选项。

您可以循环运行它,直到没有留下任何文件:

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

如果您的文件很大,则效率不是很高。对于大型文件,您可能希望缓存第一个 find 的结果并在循环中使用它而不是再次搜索。

关于linux - 在 Linux 中使用 unrar 命令对存档文件进行深度解压,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8642427/

相关文章:

c++ - 在不使用交换的情况下分配最大缓冲区

linux - 在bash中将数字分成等份

c - 运行 Exec() 命令参数

python - 如何使用pyUnrar2获取解压目录?

python - 如何使用 Python 和 patoolib 解压 .rar 文件

linux - 编写一个 shell 脚本,接受一系列代表文件类型的 3 个字符串作为命令行参数

python - 如何使用 Python 的 UnRAR 库记录错误的密码?

Python脚本递归打开目录中的.rar文件

java - 拆分两个文件

linux - 使用 ogr2ogr 安装 GDAL 时出错