当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 4 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 7z如何显示: 压缩、解压缩的进度信息?
帖子发表于 : 2016-03-03 9:17 
头像

注册: 2014-02-07 17:31
帖子: 453
系统: Xubuntu 14.04.5 64位
送出感谢: 40
接收感谢: 33
7z如何显示: 压缩、解压缩的进度信息?

pv命令好像可以做到,但怎么好像不管用,是我哪里弄错了?
注:压缩文件有密码保护

代码:
kashu:/tmp$ pv 1.7z | 7z x -
Error:
Incorrect command line
  64kB 0:00:00 [35.1MB/s] [>

kashu:/tmp$ pv 1.7z | 7z x - -o .
Error:
Incorrect command line
  64kB 0:00:00 [25.2MB/s] [>



这样虽然可以解压,但进度根本不走
kashu:/tmp$ 7z -p123 x 1.7z | pv -ps 1934m



_________________


OS: Xubuntu 14.04.5 LTS 64-bit
CPU: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
RAM: 12GB DDR3 1333MHz
128GB SSD + 2TB HDD
神舟优雅A480B-I5B 购于 2012.08

YouTube频道:https://www.youtube.com/channel/UCGSPXZ7DbSc8QDuDYX8L6Qg


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 7z如何显示: 压缩、解压缩的进度信息?
帖子发表于 : 2016-03-03 10:44 
头像

注册: 2011-03-20 13:12
帖子: 4522
地址: 山东省寿光县
系统: Debian
送出感谢: 105
接收感谢: 997
在各种 hack 中,这个还算可以:
~/bin/c7z
代码:
#!/bin/bash
x=$1
case $x in *[!/]*/) x=${x%"${x##*[!/]}"};; esac
tar cf - $x | pv --size $(du -sb $x | cut -f1) | 7z a -si $x.7z

还剩一个问题是 c7z Downloads/Debian_8.3_amd64/ 这样中间的斜杠无法处理
代码:
$ chmod +x ~/bin/c7z
$ c7z Debian_8.3_amd64/

7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=en_US.utf8,Utf16=on,HugeFiles=on,2 CPUs)
Creating archive Debian_8.3_amd64.7z

Compressing  [Content]    0%2.71MiB 0:00:01 [2.45MiB/s]
[>                                                                  0%4.42MiB 0:00:02 [1.92MiB/s]
[>                                                                         ]  1% ETA 0    0%6.43MiB 0:00:03 [1.93MiB/s]
[>                                                                         ]  2% ETA 0    0% 8.3MiB 0:00:04 [1.71MiB/s]
[=>                                                                        ]  3% ETA 0    0% 9.8MiB 0:00:05 [1.65MiB/s]
[=>                                                                        ]  3% ETA 0    0%11.5MiB 0:00:06 [1.48MiB/s]
[=>                                                                        ]  4% ETA 0    0%14.2MiB 0:00:07 [2.02MiB/s]
[==>                                                                       ]  5% ETA 0    0%15.8MiB 0:00:08 [1.82MiB/s]
[==>                                                                       ]  5% ETA 0    0%17.2MiB 0:00:09 [2.24MiB/s]
[===>                                                                      ]  6% ETA 0    0%18.9MiB 0:00:10 [1.61MiB/s]
[===>                                                                      ]  6% ETA 0    0%20.5MiB 0:00:11 [1.61MiB/s]
[====>                                                                     ]  7% ETA 0    0%26.2MiB 0:00:14 [1.53MiB/s]
[=====>                                                                    ]  9% ETA 0    0%27.8MiB 0:00:15 [1.46MiB/s]
[======>                                                                   ] 10% ETA 0    0%  29MiB 0:00:16 [1.17MiB/s]
[======>                                                                   ] 10% ETA 0    0%30.6MiB 0:00:18 [1.42MiB/s]
[=======>                                                                  ] 11% ETA 0    0%31.8MiB 0:00:18 [1.44MiB/s]
[=======>                                                                  ] 11% ETA 0    0%33.3MiB 0:00:19 [1.42MiB/s]
[=======>                                                                  ] 12% ETA 0    0%34.8MiB 0:00:20 [1.45MiB/s]
[=======>                                                                  ] 12% ETA 0    0%36.2MiB 0:00:22 [1.27MiB/s]
[========>                                                                 ] 13% ETA 0    0%37.5MiB 0:00:23 [1.39MiB/s]
[========>                                                                 ] 13% ETA 0    0%38.9MiB 0:00:23 [1.44MiB/s]
[=========>                                                                ] 14% ETA 0    0%^C42.6MiB 0:00:25 [2.46MiB/s]
[==========>                                                               ] 15% ETA 0:02:16
     

Break signaled


参考
http://stackoverflow.com/questions/11270524/how-to-print-and-capture-7zips-progress-markers-when-executing-from-python#comment14819858_11270524
http://stackoverflow.com/questions/1848415/remove-slash-from-the-end-of-a-variable#comment54980483_1848456


_________________
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 7z如何显示: 压缩、解压缩的进度信息?
帖子发表于 : 2016-03-03 12:02 
头像

注册: 2014-02-07 17:31
帖子: 453
系统: Xubuntu 14.04.5 64位
送出感谢: 40
接收感谢: 33
原来是这样,用tar来“开路” :Adore

对了,我要解压,解压怎么办?

但,依我个人理解,tar cf - $x | pv --size $(du -sb $x | cut -f1) | 7z a -si $x.7z
这样一行命令在处理体积不大的文件时,应该是完全没问题的
可对于大型文件来说(几个GB),是不是会相对更加费时费力?
因为7z本身是可以直接处理文件、目录的;
然而,用tar来“开路”,相当于用tar处理了一次文件,再用7z来“垫后”,继而是用7z再处理了一次这个文件

不知道我这样的理解或说法是不是对的?


_________________


OS: Xubuntu 14.04.5 LTS 64-bit
CPU: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
RAM: 12GB DDR3 1333MHz
128GB SSD + 2TB HDD
神舟优雅A480B-I5B 购于 2012.08

YouTube频道:https://www.youtube.com/channel/UCGSPXZ7DbSc8QDuDYX8L6Qg


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 7z如何显示: 压缩、解压缩的进度信息?
帖子发表于 : 2016-06-17 7:17 

注册: 2013-05-26 6:58
帖子: 2158
系统: Debian 9
送出感谢: 894
接收感谢: 30
引用:
这样虽然可以解压,但进度根本不走
kashu:/tmp$ 7z -p123 x 1.7z | pv -ps 1934m

思路上应该是pv xxx| 7z x -si
但我这里总是提示E_NOTIMPL

代码:
user@debian:~/Downloads/p7zip_15.14.1/bin$ pv test.7z | 7z l -si -t7z

7-Zip 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=en_US.utf8,Utf16=on,HugeFiles=on,2 CPUs)

Error: : E_NOTIMPL               

Errors: 1  64KiB 0:00:00 [18.8MiB/s] [>                                                                                                                                  ]  1%           
user@debian:~/Downloads/p7zip_15.14.1/bin$ pv test.7z | 7z l -si

7-Zip 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=en_US.utf8,Utf16=on,HugeFiles=on,2 CPUs)

Error: : E_NOTIMPL               

Errors: 1  64KiB 0:00:00 [22.6MiB/s] [>                                                                                                                                  ]  1%           
user@debian:~/Downloads/p7zip_15.14.1/bin$ pv test.7z | 7z l -si -txz

7-Zip 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=en_US.utf8,Utf16=on,HugeFiles=on,2 CPUs)

Listing archive:

--
Path =
Type = xz

   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
                    .....                            ~
------------------- ----- ------------ ------------  ------------------------
                                                     1 files, 0 folders
  64KiB 0:00:00 [23.9MiB/s] [> 

user@debian:~/Downloads/p7zip_15.14.1/bin$ 7z l ./test.7z

7-Zip 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=en_US.utf8,Utf16=on,HugeFiles=on,2 CPUs)

Listing archive: ./test.7z

--
Path = ./test.7z
Type = 7z
Method = LZMA
Solid = -
Blocks = 1
Physical Size = 3766723
Headers Size = 132

   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2016-03-24 22:04:49 ....A     23767040      3766591  aMule-2.3.1.tar
------------------- ----- ------------ ------------  ------------------------
                              23767040      3766591  1 files, 0 folders

只有指定类型为-txz时才勉强输出文件的数量,却没有列表
但是xz并非正确类型,指定未7z就提示无效操作

参考一下我的这个帖子:
viewtopic.php?p=3163647#p3163647
这次试着操作一下楼主的问题,结果指定类型的方法也失效了


_________________
Linux桌面优化综合贴[2017.09.18](欢迎各位补充或指正误区)
[2016.03.10]会C语言但看不懂英文文档的点这里,一个用C语言编写的简陋学习工具
单硬盘通过iso文件实机安装Debian的方法
重启或操作fcitx时失去响应的一个解决方法,不妨试试看


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 4 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译