Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: leogtz en 1 Agosto 2010, 01:02 AM

Título: Administración del Copy & Paste [ Bash ]
Publicado por: leogtz en 1 Agosto 2010, 01:02 AM
Hola, esto surgió de la necesidad de administrar lo que copio y debo respaldar de internet.

Se trata de un script en Bash, usando las herramientas Xdialog y Parcellite.

Parcellite es un administrador del portapapeles, para GNU/Linux, aquí la descripción:

Parcellite is a lightweight GTK+ clipboard manager. This is a stripped down, basic-features-only clipboard manager with a small memory footprint for those who like simplicity.


Uso:
 parcellite [OPCIÓN...]

Ejemplos del portapapeles por el terminal:

 echo "copiado a portapapeles" | parcellite
 parcellite "copiado a portapapeles"
 echo "copiado a portapapeles" | parcellite -o

Opciones de ayuda:
 -?, --help        Mostrar opciones de ayuda

Opciones de la aplicación:
 -d, --daemon      Ejecutar como demonio
 -n, --no-icon     No usar icono de estado (Ctrl-Alt-P para el menú)
 -o, --output      Imprimir contenido del portapapeles

Escrito por Gilberto "Xyhthyx" Miralla.
Reportar errores a <xyhthyx@gmail.com>.


Este software nos permite "programar" una acción con el contenido del portapapeles, esta acción se ejecuta con un atajo de teclado que podemos definir.
(http://r.i.elhacker.net/cache?url=http://sourceforge.net/dbimage.php?id=186212)

Bueno, pues hice el script siguiente, que mediante la acción tu puedas respaldar en un archivo lo que copiaste:

Código (bash) [Seleccionar]
#!/usr/bin/bash
#===============================================================================
#          FILE:  clip.sh
#         USAGE:  ./clip.sh
#   DESCRIPTION:  Script de automatización de copiado y pegado.
# parcelite, xdialog y este pequeño script.

# Mediante la opción "Acciones" de parcelite, podemos programar una opción
# En este caso llamaremos a este script para que volque el texto.
#  REQUIREMENTS:  --- Xdialog, parcellite
#        AUTHOR: Leo Gutiérrez Ramírez. (fgm), leorocko13@hotmail.com
#       CREATED: 30/07/10 17:42:34 MDT
#===============================================================================
ELEGIDO=1
while [ $ELEGIDO -eq 1 ]
do
FILE=`Xdialog --backtitle "Leo Gutierrez R." --title "Elija la ruta y el nombre de su archivo" \
--no-buttons --check "Agregar" --fselect "${HOME}" 30 70 2>&1`
case "$?" in
1)
exit 0;
;;
255)
exit 0;
;;
esac
echo -e "Algo : -${FILE}-" | grep "^checked-" > /dev/null && AGREGAR=1 || AGREGAR=0
FILE=`echo -e "${FILE}" | sed -e "s/^checked$//gi" -e "s/^unchecked$//gi"`
if [ -d "${FILE}" ]
then
Xdialog --title "Error de elección de archivo" --msgbox "No ha elegido un nombre de archivo válido.\n
Probablemente solo eligió el directorio destino.\n" 10 50
ELEGIDO=1
else
ELEGIDO=0
fi
done

if [ $AGREGAR -eq 1 ]
then
parcellite -o >> "${FILE}"
else
parcellite -o > "${FILE}"
fi
exit 0;


Aquí está la interfaz del script:
(http://r.i.elhacker.net/cache?url=http://img13.imageshack.us/img13/2788/respaldo.png)

Configuren las acciones de parcellite, poniendo en el comando:
bash "RutaDelScript.sh"

Le puse una opción por si quieres agregar al archivo, es decir, evita que el contenido sea truncado.

Para instalar en Ubuntu:
sudo apt-get install parcellite

Saludos.

Título: Re: Administración del Copy & Paste [ Bash ]
Publicado por: m1kh41l en 5 Agosto 2010, 11:56 AM
buenisimo !!!, todo un master leo, algun dia lo aplicare jajaja  ;-)