Pourquoi n'est-ce pas possible?
pv ${dest_file} | gzip -1
pv
est une barre de progression
gzip: compressed data not written to a terminal. Use -f to force compression.
For help, type: gzip -h
0 B 0:00:00 [ 0 B/s] [> ] 0%
Cela marche
pv ${file_in} | tar -Jxf - -C /outdir
Qu'essayez-vous de réaliser est de voir la barre de progression du processus de compression. Mais ce n'est pas possible en utilisant pv
. Cela ne montre que des progrès de transfert que vous pouvez obtenir par quelque chose comme celui-ci (de toute façon, c'est le premier lien dans Google):
pv input_file | gzip > compressed_file
La barre de progression fonctionnera rapidement, puis il attendra la compression, ce qui n'est plus observable en utilisant pv
.
Mais vous pouvez faire cette autre voie autour et regarder le flux de sortie, Bot ici Vous ne pourrez pas voir les progrès réels, car pv
ne connaît pas la taille réelle du fichier compressé:
gzip input_file | pv > compressed_file
Le meilleur que j'ai trouvé jusqu'à présent est celui de Commandlinef Même avec limitation de taux et compression des répertoires:
$D=directory
tar pcf - $D | pv -s $(du -sb $D | awk '{print $1}') --rate-limit 500k | gzip > target.tar.gz
Oui, il est un peu possible d'utiliser les lignes du fichier, pas des octets. Vous obtenez une barre de progression suffisante précise:
cat input_file | pv -ls $( wc -l input_file ) | gzip -c -- > compressed_file
Vous pouvez utiliser 7Z plutôt pour obtenir un pourcentage de progrès:
$ 7z a spaCy.tar.gz spaCy.tar
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7Zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,8 CPUs Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (906E9),ASM,AES-NI)
Open archive: spaCy.tar.gz
--
Path = spaCy.tar.gz
Type = gzip
Headers Size = 20
Scanning the drive:
1 file, 326451200 bytes (312 MiB)
Updating archive: spaCy.tar.gz
Items to compress: 1
32% U spaCy.tar