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

Rob*_*ona 16 bash ubuntu extract 7zip

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

我正在使用Ubuntu 10.10.所有文件都位于/home/username/folder1/folder2.

San*_*lai 21

7za -y x "*.7z" 
Run Code Online (Sandbox Code Playgroud)

上面的代码对我有用

  • 引号是我所缺少的必要组件。没有他们,它就不想工作。 (2认同)

Ign*_*ams 15

for arc in *.7z
do
  7zwhatever "$arc"
done
Run Code Online (Sandbox Code Playgroud)


Mat*_*ner 7

for f in *.7z
do
    7zr e "$f" &
done
Run Code Online (Sandbox Code Playgroud)

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

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


Rus*_*huk 7

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

ls *.7z | parallel -j+0 --eta '7z x {} >/dev/null'
Run Code Online (Sandbox Code Playgroud)


Fra*_*urt 6

如果您希望将多个 7zip 存档解压到 Linux 中同名的文件夹中,您可以使用:

for archive in *.7z; do 7z x -o"`basename \"$archive\" .7z`" "$archive"; done
Run Code Online (Sandbox Code Playgroud)

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

上面的命令来自用户Vojtech对超级用户的回答


小智 5

7z x "*.7z" 这在ubuntu为我工作


zap*_*pee 5

你不需要让事情变得过于复杂。要提取拆分为多个部分的 7-Zip 存档,请使用以下命令:

7z x archive.7zip.0
Run Code Online (Sandbox Code Playgroud)

7-Zip 会注意到您有一个多卷存档,并且它会解压所有内容。


Ana*_*uba 5

可能最简单的方法如下

 ls | xargs -n1 7z x 
Run Code Online (Sandbox Code Playgroud)