Foro de elhacker.net

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:
Código:
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:
Código:
  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
  1. #!/usr/bin/bash
  2. #===============================================================================
  3. #          FILE:  clip.sh
  4. #         USAGE:  ./clip.sh
  5. #   DESCRIPTION:  Script de automatización de copiado y pegado.
  6. # parcelite, xdialog y este pequeño script.
  7.  
  8. # Mediante la opción "Acciones" de parcelite, podemos programar una opción
  9. # En este caso llamaremos a este script para que volque el texto.
  10. #  REQUIREMENTS:  --- Xdialog, parcellite
  11. #        AUTHOR: Leo Gutiérrez Ramírez. (fgm), leorocko13@hotmail.com
  12. #       CREATED: 30/07/10 17:42:34 MDT
  13. #===============================================================================
  14. ELEGIDO=1
  15. while [ $ELEGIDO -eq 1 ]
  16. do
  17. FILE=`Xdialog --backtitle "Leo Gutierrez R." --title "Elija la ruta y el nombre de su archivo" \
  18. --no-buttons --check "Agregar" --fselect "${HOME}" 30 70 2>&1`
  19. case "$?" in
  20. 1)
  21. exit 0;
  22. ;;
  23. 255)
  24. exit 0;
  25. ;;
  26. esac
  27. echo -e "Algo : -${FILE}-" | grep "^checked-" > /dev/null && AGREGAR=1 || AGREGAR=0
  28. FILE=`echo -e "${FILE}" | sed -e "s/^checked$//gi" -e "s/^unchecked$//gi"`
  29. if [ -d "${FILE}" ]
  30. then
  31. Xdialog --title "Error de elección de archivo" --msgbox "No ha elegido un nombre de archivo válido.\n
  32. Probablemente solo eligió el directorio destino.\n" 10 50
  33. ELEGIDO=1
  34. else
  35. ELEGIDO=0
  36. fi
  37. done
  38.  
  39. if [ $AGREGAR -eq 1 ]
  40. then
  41. parcellite -o >> "${FILE}"
  42. else
  43. parcellite -o > "${FILE}"
  44. fi
  45. 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:
Código:
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:
Código:
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  ;-)