7z如何显示: 压缩、解压缩的进度信息?

各种窗口管理器和美化相关
回复
头像
kashu
帖子: 451
注册时间: 2014-02-07 17:31
系统: Xubuntu 14.04.5 64位

7z如何显示: 压缩、解压缩的进度信息?

#1

帖子 kashu » 2016-03-03 9:17

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

[/size]


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/UCGSPXZ ... DuDYX8L6Qg
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: 7z如何显示: 压缩、解压缩的进度信息?

#2

帖子 vickycq » 2016-03-03 10:44

在各种 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/1127 ... 8_11270524
http://stackoverflow.com/questions/1848 ... 83_1848456
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
头像
kashu
帖子: 451
注册时间: 2014-02-07 17:31
系统: Xubuntu 14.04.5 64位

Re: 7z如何显示: 压缩、解压缩的进度信息?

#3

帖子 kashu » 2016-03-03 12:02

原来是这样,用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/UCGSPXZ ... DuDYX8L6Qg
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: 7z如何显示: 压缩、解压缩的进度信息?

#4

帖子 科学之子 » 2016-06-17 7:17

这样虽然可以解压,但进度根本不走
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
这次试着操作一下楼主的问题,结果指定类型的方法也失效了
回复