如何显示解压进度?

JPX*_*JPX 11 zip unzip

解压缩大文件时如何显示进度、条形或百分比?

unzip zipfile.zip 不显示任何进度信息?

小智 21

不安装任何其他东西,最简单的方法是让它为使用 awk 提取或处理的每个文件打印一个点。

unzip -o source.zip -d /destDirectory | awk 'BEGIN {ORS=" "} {print "."}'
Run Code Online (Sandbox Code Playgroud)

如果它是一个大的 zip 文件,那么您可以选择每 10 个或第 20 个文件打印一个点,如下所示:

unzip -o source.zip -d /destDirectory | awk 'BEGIN {ORS=" "} {if(NR%10==0)print "."}'
Run Code Online (Sandbox Code Playgroud)

只需将 NR%10 部分中的“10”更改为您想要的任何增量。

或者,您可以安装 pv 命令,该命令在 unzip 时效果不佳,但提供了一个并不完全糟糕的单行视图。

安装光伏:

sudo apt install pv
Run Code Online (Sandbox Code Playgroud)

用 pv 解压:

unzip -o source.zip -d /destDirectory | pv -l >/dev/null
Run Code Online (Sandbox Code Playgroud)

这将显示如下所示的输出:

28.2k 0:00:03 [9.36k/s] [        <=>                       ]
Run Code Online (Sandbox Code Playgroud)

由于 zip 文件的处理方式,它不会像我们希望的那样以有意义的方式显示进度条。

  • 某些 zip 文件只有一个压缩文件。大小约5GB。有没有一种简单的方法来获取未压缩的大小、监视写入的数据并显示 40% 或 300/5000 MB 等进度? (2认同)

pal*_*lto 5

显示压缩/解压缩进度的另一种方法是使用程序 7zip。在最新版本 16.02(发布于 2016-05-21)中,它以百分比显示进度。

p7zip自发布 artuful/16.10 以来,Ubutuntu 存储库中提供了 16.02 版的软件包。较旧的 Ubuntu 版本只有 p7zip 版本 9.20.1,存储库中没有进度指示器。我从仿生存储库在 Ubuntu xenial/16.04 中手动安装了 pzip 16.02 版本,似乎没有其他依赖项(p7zip、p7zip-full 和 p7zip-rar)。

7z x source.zip -o/destDirectory

请注意,“-o”和目标目录名称之间不能有空格。