[gull] Progress pour cp

Félix Hauri felix at f-hauri.ch
Sat Oct 1 11:39:21 CEST 2011


On Sat, Oct 01, 2011 at 10:30:14AM +0200, Gerome Fournier wrote:
> Je profite de ce post pour mentionner "bar" que vous pouvez intercaller  
> dans une succession de pipes pour avoir des infos sur un tranfert:
>
> Un exemple:
>
> $ cat brol.iso | bar | ...
Intéressant, je connaissais ``buffer'' qui est dans les paquets Debian
depuis longtemps, mais ``bar'' à l'air pas mal.

Pour copier un dossier de SOURCE a DEST, je ferais (en bash v3+):

$ SOURCE=/a
$ DEST=/b
$ SIZE=($(du -bs "$SOURCE"))
$ [ -d "$DEST" ] || mkdir "$DEST"
$ tar -cplC "$SOURCE" . | bar -s $SIZE | tar -xpC "$DEST"

bar place le curseur en début de ligne après chaque affichage, si bien
que les messages d'erreur de ``tar'' s'affichent normalement et ne
sont pas altérés, la bar de progression se ré-affiche immédiatement
après... C'est beau.

(Nota: le ``du'' retardera un peu le début du transfert, cela peut
 être négligeable, voire très bref si le dossier contient des gros
 fichiers, par contre, cela peut devenir gênant s'il contient beaucoup
 de petits fichiers.)

--
 Félix Hauri  -  <felix at f-hauri.ch>  -  http://www.f-hauri.ch


More information about the gull mailing list