首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何显示解压缩进度?

如何显示解压缩进度?
EN

Ask Ubuntu用户
提问于 2017-04-28 14:26:54
回答 4查看 35.6K关注 0票数 14

在解压缩大型文件时,如何显示进度、栏或百分比?

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

EN

回答 4

Ask Ubuntu用户

发布于 2017-10-03 18:03:21

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

代码语言:javascript
运行
复制
unzip -o source.zip -d /destDirectory | awk 'BEGIN {ORS=" "} {print "."}'

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

代码语言:javascript
运行
复制
unzip -o source.zip -d /destDirectory | awk 'BEGIN {ORS=" "} {if(NR%10==0)print "."}'

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

或者,您也可以安装pv命令,它在解压缩中不能很好地工作,但是提供了一个不完全糟糕的线性视图。

安装pv:

代码语言:javascript
运行
复制
sudo apt install pv

用pv解压缩:

代码语言:javascript
运行
复制
unzip -o source.zip -d /destDirectory | pv -l >/dev/null

这显示如下所示的输出:

代码语言:javascript
运行
复制
28.2k 0:00:03 [9.36k/s] [        <=>                       ]

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

票数 24
EN

Ask Ubuntu用户

发布于 2018-03-24 18:12:50

另一个显示zip/unzip进度的方法是使用7zip程序。在最新的16.02版(2016-05-21年出版)中,它以百分比显示了进展情况。

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

7z x source.zip -o/destDirectory

请注意,"-o“和目标目录名称之间必须没有空格。

票数 9
EN

Ask Ubuntu用户

发布于 2022-10-09 05:56:15

您可能需要使用tqdm,这是一个python库,但也有一个CLI,它将显示提取过程中的实际进展,而不仅仅是在完成所有操作之后:

代码语言:javascript
运行
复制
unzip zipfile.zip | tqdm > /dev/null

显示进度百分比要困难得多,因为unzip打印的行数尚不清楚。从unzip -l zipfile.zip输出获取文件数是可能的:

代码语言:javascript
运行
复制
n_files=`unzip -l zipfile.zip | tail -n 1 | xargs echo -n | cut -d' ' -f2`

然后你不妨:

代码语言:javascript
运行
复制
unzip -o zipfile.zip | tqdm --desc extracted --unit files --unit_scale --total $n_files > /dev/null

最后产出:

代码语言:javascript
运行
复制
extracted: 100%|███████████████████████████████| 15126/15126 [00:00<00:00, 16218.28files/s]

但解压缩输出的输出可能不仅是提取的文件名,还可能是其他一些操作(如充气或链接),这取决于may文件的内容。因此,n_files确实包含正确的文件数量,但是步骤的数量可能更多。一旦tqdm超过100%,它将切换到默认的进度输出,如上面的第一个示例所示。

Ubuntu名称当前为python3-tqdm。当然,man tqdm非常有用。

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/909918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档