Tar 压缩 Zenity 进度
Tar compress Zenity progress
我希望显示 Tar 文件夹压缩的进度。
考虑使用以下代码将 Document 文件夹压缩为 bzip2。
(tar -cf - Documents | pv -n -s $(du -sb Documents | awk '{print }') \
| bzip2 > test.tar.bz2) | zenity --progress --percentage=0
在终端中使用pv通过逐行显示百分比来显示进度。
3
9
16
27
...
然而,zenity 不显示进度并保持锁定在 0%。该过程完成后,zenity 显示 100%。
如何纠正我的错误并查看 zenity 的进展?谢谢
pv
报告 stderr
的进度,zenity
从 stdin
读取,因此它永远看不到 pv
报告的内容。当 stdin
关闭时,它切换到 100%。
试试这个,应该可以解决问题:
(tar -cf - Documents | pv -n -s $(du -sb Documents | awk '{print }') \
| bzip2 > test.tar.bz2) 2>&1 | zenity --progress --percentage=0
我希望显示 Tar 文件夹压缩的进度。
考虑使用以下代码将 Document 文件夹压缩为 bzip2。
(tar -cf - Documents | pv -n -s $(du -sb Documents | awk '{print }') \
| bzip2 > test.tar.bz2) | zenity --progress --percentage=0
在终端中使用pv通过逐行显示百分比来显示进度。
3
9
16
27
...
然而,zenity 不显示进度并保持锁定在 0%。该过程完成后,zenity 显示 100%。 如何纠正我的错误并查看 zenity 的进展?谢谢
pv
报告 stderr
的进度,zenity
从 stdin
读取,因此它永远看不到 pv
报告的内容。当 stdin
关闭时,它切换到 100%。
试试这个,应该可以解决问题:
(tar -cf - Documents | pv -n -s $(du -sb Documents | awk '{print }') \
| bzip2 > test.tar.bz2) 2>&1 | zenity --progress --percentage=0