小智 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 文件的处理方式,它不会像我们希望的那样以有意义的方式显示进度条。
显示压缩/解压缩进度的另一种方法是使用程序 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”和目标目录名称之间不能有空格。