Comment ajouter de la barre de progression à un somearchive.le goudron.xz extrait
Je voudrais imprimer à tout le moins l'impression # les fichiers extraits de l'archive extrait
xz -dc /path/to/somearchive.tar.xz | sudo tar xvpf - -C /path/to/some_directory
Je pensais de l'aide de l' "\r", comme mentionné dans cette question, par exemple
num=0
when [\n received]
num=$(($num + 1))
echo -ne "$num files extracted \r"
end when
mon bash compétences à me manquer.
Vous devez vous connecter pour publier un commentaire.
Si vous voulez vraiment le faire par fichier, vous pouvez utiliser:
Notes:
xz
séparément, la plupart destar
les implémentations de détecter automatiquement et de le décompresser pour vous.tar
lit depuis l'entrée standard par défaut, vous n'avez pas besoinf -
.Vous devriez regarder dans l'aide de
pv
au lieu de cela, il est plus précis et plus généralement applicables:xzcat
dans votrepv
exemple:pv /path/to/archive.tar.xz | xzcat | sudo tar -xpC /path/to/dir
tar
de la production pourrait être séquentiellement les canalisations comme çatar
de détecter automatiquement la compression.pv
, puis, par fichier:lines=$(tar -tJf archive.txz | wc -l); tar -xvpf archive.txz 2>&1 | pv -ls$lines
pv /path/to/archive.tar.xz | sudo tar xp -C /path/to/dir
comment pourrais-je en faire un alias, donc je pourrais écrire quelque chose comme:progtar inputfile destination/dir
Lors de l'extraction avec
tar
vous pouvez utiliser le--checkpoint
option. Ce que vous obtenez n'est pas vraiment une barre de progression, mais assez bon pour voir les progrès.Dans cet exemple,
tar
affichera un message chaque 100 enregistrements écrits. Si vous placez un point immédiatement après le signe égal, il suffit d'imprimer un.
.De sortie: