【发布时间】:2011-05-15 11:40:45
【问题描述】:
如何不一一提取大约 900 个 7z 文件,它们都位于同一个文件夹中(都只有一个文件)?
我使用的是 Ubuntu 10.10。所有文件都位于/home/username/folder1/folder2。
【问题讨论】:
如何不一一提取大约 900 个 7z 文件,它们都位于同一个文件夹中(都只有一个文件)?
我使用的是 Ubuntu 10.10。所有文件都位于/home/username/folder1/folder2。
【问题讨论】:
7za -y x "*.7z"
上面的代码对我有用
【讨论】:
for arc in *.7z
do
7zwhatever "$arc"
done
【讨论】:
使用parallel 是一种相当方便的免费总进度表方式;)
ls *.7z | parallel -j+0 --eta '7z x {} >/dev/null'
【讨论】:
for f in *.7z
do
7zr e "$f" &
done
这会将所有.7z 文件(如果它们是 7z 格式)提取到当前目录,而无需等待完成。
您的计算机可以被拥有。您已被警告!
【讨论】:
7z x "*.7z"
这在 ubuntu 中对我有用
【讨论】:
如果您希望在 Linux 中将多个 7zip 压缩包解压到同名文件夹中,您可以使用:
for archive in *.7z; do 7z x -o"`basename \"$archive\" .7z`" "$archive"; done
例如,如果您有两个 7zip 压缩文件 a.7z 和 b.7z,它将创建两个文件夹 a 和 b,并将 a.7z 解压缩到文件夹 a 和 b.7z 到文件夹 @ 987654331@.
以上命令来自this answer on superuser用户Vojtech。
【讨论】:
你不需要把事情复杂化。要提取 7-Zip 存档拆分为多个部分,请使用以下命令:
7z x archive.7zip.0
7-Zip 会注意到您有一个多卷存档并解压缩所有内容。
【讨论】:
除了使用 for 循环
您也可以将 find 与 exec 参数或 xargs 结合使用
【讨论】:
可能最简单的方法如下
ls | xargs -n1 7z x
【讨论】:
最简单的方法是unzip '*.zip'。
确保您有' 标记。
【讨论】: