如何在Ubuntu中一次提取文件夹中的多个7z文件?

时间:2010-11-25 03:45:09

标签: bash ubuntu extract 7zip

如何逐一提取大约900个7z文件,这些文件都位于同一个文件夹中(所有文件中只有一个文件)?

我使用的是Ubuntu 10.10。所有文件都位于/home/username/folder1/folder2

10 个答案:

答案 0 :(得分:18)

7za -y x "*.7z" 

以上代码对我有用

答案 1 :(得分:14)

for arc in *.7z
do
  7zwhatever "$arc"
done

答案 2 :(得分:7)

for f in *.7z
do
    7zr e "$f" &
done

这将提取所有.7z文件(如果它们是7z格式)到当前目录,而不等待完成。

您的计算机可能是拥有的。你被警告了!

答案 3 :(得分:6)

使用parallel是一种相当方便的方式,总免费进度表;)

ls *.7z | parallel -j+0 --eta '7z x {} >/dev/null'

答案 4 :(得分:3)

7z x "*.7z" 这在ubuntu中对我有用

答案 5 :(得分:0)

除了使用for循环

你也可以将find与exec参数或xargs

结合使用

答案 6 :(得分:0)

如果您希望将多个7zip档案提取到Linux中具有相同名称的文件夹,您可以使用:

for archive in *.7z; do 7z x -o"`basename \"$archive\" .7z`" "$archive"; done

例如,如果您有两个7zip档案a.7zb.7z,则会创建两个文件夹ab,并将a.7z解压缩到文件夹中ab.7z到文件夹b

以上命令来自用户this answer on superuserVojtech

答案 7 :(得分:0)

您不需要太复杂。要提取7-Zip存档拆分以乘以多个部分,请使用以下命令:

7z x archive.7zip.0

7-Zip会通知您,您有一个多卷归档文件,并且它解压缩了所有内容。

答案 8 :(得分:0)

可能最简单的方法如下

 ls | xargs -n1 7z x 

答案 9 :(得分:-1)

最简单的方法是unzip '*.zip'

确保您拥有'标记。