Planeta TTY

Barra de Progreso en Comando cp

Posted in Trucos & Tips by Jorgito Capurro on 7 julio 2009

Con este sencillo script, podemos ver el porcentaje de la copia realizada cuando utilizamos el comando cp. Es realmente muy útil para utilizarlo en la copia de archivos de gran magnitud, para saber que porcentaje se encuentra realizada.

#!/bin/sh
cp_p()
{
strace -q -ewrite cp — “${1}” “${2}” 2>&1 \
| awk ‘{
contador += $NF
if (contador % 10 == 0) {
porcentaje = contador / total_size * 100
printf “%3d%% [“, porcentaje
for (i=0;i<=porcentaje;i++) printf "=" printf ">”
for (i=porcentaje;i<100;i++) printf " " printf "]\r" } } END { print "" }' total_size=$(stat -c '%s' "${1}") contador=0 } [/sourcecode]

Al script podemos llamarlo cp_p.sh y para poder utilizarlo en cualquier parte, simplemente lo tenemos que copiar al directorio /usr/bin.
Luego, obtendremos una copia de archivos como la siguiente:

$ cp_p /home/jcapurro/debian-502-i386-CD-1.iso /dev/null
76% [===========================================>

También, podemos crear un alias que sustituya el comando cp por nuestro script. Para hacerlo, editamos el archivo .bashrc , ubicado en nuestro directorio $HOME, y añadimos la siguiente línea al final del archivo:

alias cp=’/usr/bin/cp_p.sh’

¡Espero que les sea de utilidad!

Saludos

Anuncios

Una respuesta

Subscribe to comments with RSS.

  1. pamchi said, on 13 abril 2010 at 19:23

    se pueden mandar parametros como ‘-r’ para incluir los directorios?


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: