【发布时间】:2012-12-09 07:28:27
【问题描述】:
我编写了一个使用 7zip 备份目录的简单脚本。一切正常,但现在我想向它添加一些图形反馈,添加一个进度条。我知道我可以使用 zenity 做到这一点,但无论我尝试什么,我似乎都无法让它发挥作用。
我正在使用fgrep 来了解压缩新文件的时间(“压缩”是 7zip 打印在屏幕上的每一行的第一个单词),以增加条形图。具体代码行如下:
7z a -t7z /home/user/Desktop/Backup.7z /home/user/Desktop/folder_to_backup -mx9 | fgrep Compressing | nl | awk '{print $1/$number_of_files*100}' | zenity --progress --percentage=0 --auto-close
运行这个会出现进度条,从0开始,但是不显示进度:操作完成后,进度条突然跳到末尾。
我已经用谷歌搜索了一段时间,但我发现的唯一一件事是 zenity progress 似乎有一些问题:D 任何帮助将不胜感激!
【问题讨论】:
-
运行时会发生什么?我认为您使用 zenity 没有问题。也许问题出在你在里面的管道上。
-
@Untitled 你是对的,我忘了补充,我现在已经更新了我的问题:)
-
您对 zenity 的输入是什么?什么运行
/home/user/Desktop/Backup.7z /home/user/Desktop/folder_to_backup -mx9 | fgrep 压缩 |荷兰 | awk '{print $1}'给你? -
@Untitled 输入是 awk 的输出,它是一系列递增的整数(1,2,3...,取决于要压缩的文件数量)。如果我运行该代码(我刚刚意识到有一个小错误,我忘了在其中添加
7z a -t7z),我会在新的一行中得到1 2 3。 -
[unix] meter progress。祝你好运。
标签: linux shell progress-bar zenity