从 bash 中的 7z 命令获取百分比信息

从 bash 中的 7z 命令获取百分比信息

由于存档包含超过 30 个文件,提取的文件列表很快就变得不再有趣。我正在制作一个脚本,将.war存档提取到 tomcat 应用程序文件夹中:

图片描述

在查找7z命令帮助时,我注意到这一行:

  -bd:禁用百分比指标

嗯,我真的很想使能够百分比指示器并使用它来代替疯狂的文件列表。我该怎么做呢?就像是:

图片描述

但坦率地说,像下面这样的一个行百分比指示器就足够了:

Progress: 30%

答案1

如果您尝试使用标准实用程序来执行此操作,那么您肯定必须找到一种非常棘手的解决方法。否则使用whiptail-- http://xmodulo.com/create-dialog-boxes-interactive-shell-script.html或者pv- http://www.ivarch.com/programs/pv.shtml

答案2

你是真的使用p7zipv9.20,Unix 的便携式版本。7zip是一个具有 GUI 和命令行操作的 Windows 程序,其文档不一定始终适用于p7zip. v9.20 现在已经很老了(~2011 年),尽管直到 2015 年才发布新版本。自 2007 年以来,分布式手册页一直未受影响,即使在最新版本中也是如此。

便携版p7zipv16.02有一个进度指示器(并且 -bd 确实禁用它)。似乎没有专门针对便携式版本的更新日志,所以我不能说它是什么时候添加的,除了在 v9.20.1 之后,我已经确认也没有它。

否则,通用解决方案包括pmonitor(要求lsof)Marco 建议的,或progress(Linux 特定)。另请参阅此问题以获取更多信息:Pipe Viewer - 进度监控性能结果(我的答案有一个脚本,它显示了如何在/proc没有额外工具的情况下从中提取所需的信息)。

相关内容