Magic Folder en Ubuntu

Estaba leyendo esta entrada y referenciando en ella he encontrado un shell script muy interesante.
Muchas veces nos bajamos imagenes, o musica o estamos escribiendo documentos y para organizarlos los movemos a nuestros directorios “Imagenes”, “Musica” y “Documentos” respectivamente. (o como los hayamos llamado). Pero esto nos hace perder mucho tiempo. ¿No seria mejor arrastrar el fichero sobre un icono y que de manera automatica se moviera al directorio correspondiente?.
Pues esta es la idea de este shell script. En funcion de la extension del fichero, nos mueve dicho fichero a una carpeta u otra.

Aqui el script:

#!/bin/bash
while [ $# -ge 1 ];
do
case $1 in
*.mp3)
mv $1 ~/Escritorio/Musica
;;
*.jpg | *.gif)
mv $1 ~/Escritorio/Imagenes
;;
*.doc | *.txt)
mv $1 ~/Escritorio/Documentos
;;
*)
exit 0
;;
esac
shift
done

El funcionamiento es muy tonto, en funcion de la extension del fichero los mueve a unas u otras carpetas clasificadoras de nuestro directorio home. Por ejemplo los ficheros .mp3 se van a ~/Escritorio/Musica.
Ahora solo queda que guardes este script y le des permisos de ejecucion. Por ejemplo si lo llamas magic.sh tendras que darle permisos con:

$ chmod +x magic.sh

Ahora creamos un lanzador, y como comando a ejecutar pasamos la ruta de nuestro fichero magic.sh, seleccionamos un icono bonito para el lanzador y ya esta. Cada vez que queramos mover de manera automatica un fichero a un carpeta, solamente arrastramos el fichero sobre el icono del lanzador.

Actualizacion | Gracias a Keep Walking, mover ficheros cuando contienen espacios da problemas, asi que hay que encerrar $1 (que referencia al nombre del fichero) entre comillas para que puedan moverse. Tambien pueden usarse expresiones para poder mover ficheros con extension .jpg .Jpg .jPg por ejemplo. El script quedaria entonces asi:

#!/bin/bash
while [ $# -ge 1 ];
do
case “$1″ in
*.[mM][pP]3)
mv “$1″ ~/Musica
;;
*.[jJ][pP][gG] | *.[gG][iI][fF])
mv “$1″ ~/Imagenes
;;
*.doc | *.[tT][xX][tT])
mv “$1″ ~/Documentos
;;
*)
exit 0
;;
esac
shift
done

14 Responses to “Magic Folder en Ubuntu”


  1. 1 finostro julio 15, 2008 en 5:39 am

    la idea la encontre bastante buena, la estuve implementando, pero al parecer tiene problemas con archivos que tienen espacios en blanco en su nombre. aparte de eso, funciona bastante bien.

  2. 2 finostro julio 15, 2008 en 6:17 am

    se me olvido decirles que al lanzador que agregué al panel tuve que agregar %F para que funcionara correctamente

    saludos

  3. 4 TuxAlito julio 15, 2008 en 2:42 pm

    lo estoy probando y no logro que funcione.

  4. 5 superpiwi julio 15, 2008 en 6:17 pm

    Asegurate que tienes bien puestas las rutas. Yo lo tengo como un lanzador en el escritorio (no como panel) y funciona como he comentado, añadiendo solo como ruta del comando, la ruta donde tengas el shell script.
    De todas formas para comprobar si funciona tambien lo puedes ejecutar desde consola.
    P.ej

    $ ./magic.sh fichero_01.jpg

    Y deberia moverte fichero_01.jpg o el que fuera a la carpeta correspondiente.
    Otra cosa, por si acaso añade lo de #!/bin/interprete que uses al comienzo del script.

  5. 6 dicren julio 17, 2008 en 7:41 pm

    Yo le añadiria mas extesnsiones, .ogg .png .odf etc etc

    Yo no suelo usar estas carpetas a si que de poco me vale jeje

  6. 7 LordNeo mayo 25, 2011 en 3:37 pm

    Me acabo de acordar de este post y me puse a intentar usarlo, sin embargo, por razones que van mas alla de mi conocimiento no pude hacer que funcionara.
    Me referi a la fuente original y encontre que el codigo esta actualizado y funciona correctamente (con espacios y demases) y ademas añadieron un sed para poner todo en minuscula y asi no tener que usar regexp para las extensiones.

    while [ $# -ge 1 ];
    do
        filename=`echo "$1" | sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
        case "$filename" in
            *.mp3)
               mv "$1" ~/Música
                ;;
            *.jpg | *.jpeg | *.gif)
               mv "$1" ~/Imágenes
                ;;
            *.doc | *.txt | *.pdf)
               mv "$1" ~/Documentos
                ;;
            *.flv | *.avi | *.mov)
               mv "$1" ~/Videos
                ;;
            *)
                echo "not moving"
                exit 0
                ;;
        esac
        shift
    done
    

    PD: Alguien sabe como configurar el lanzador de Unity para que reconozca los tipos de archivos que acepta? Cuando pongo el lanzador en la barra, no me deja soltarle encima ningun archivo, sino seria un complemento muy bueno.

  7. 8 LordNeo mayo 25, 2011 en 3:38 pm

    Suscribiendome a las respuestas 😛

  8. 9 LordNeo mayo 25, 2011 en 4:39 pm

    Update: Ahora funciona poniendolo como lanzador de Unity

    Archivo Magic.sh

    while [ $# -ge 1 ];
    do
        filename=`echo "$1" | sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
        case "$filename" in
            *.midi | *.wav | *.mp3)
               mv "$1" ~/Música
                ;;
            *.jpg | *.jpeg | *.gif | *.png | *.bmp)
               mv "$1" ~/Imágenes
                ;;
            *.doc | *.wiz | *.rtf | *.txt | *.pdf)
               mv "$1" ~/Documentos
                ;;
            *.flv | *.avi | *.mov | *.mpg | *.mpeg)
               mv "$1" ~/Videos
                ;;
            *)
                echo "not moving"
                exit 0
                ;;
        esac
        shift
    done
    

    Launcher

    [Desktop Entry]
    Version=1.0
    Type=Application
    Terminal=false
    Icon[es_CL]=gnome-panel-launcher
    Exec=/RUTAALARCHIVO/Magic.sh %F
    MimeType=application/msword;application/pdf;audio/midi;audio/x-wav;image/jpeg;image/png;image/bmp;text/plain;video/mpeg;video/msvideo
    Name[es_CL]=Magic Folder
    Name=Magic Folder
    Icon=gnome-panel-launcher
    

    Saludos

  9. 10 CriticalDex junio 2, 2011 en 8:54 pm

    hmmm que raro no me funciona, no tengo que tener los archivos en alguna carpeta especial ni nada asi no? me sale así:

    si alguien me podria dar una pista :/


  1. 1 Carpetas Mágicas « Keep Walking Trackback en julio 18, 2008 en 3:45 am
  2. 2 Magic Folder QuickList para Unity « Ubuntu Life Trackback en junio 1, 2011 en 10:16 pm
  3. 3 Magic Folder QuickList para Unity | Ayuda Linux Trackback en junio 2, 2011 en 4:11 am
  4. 4 Tarinbot! / Magic Folder QuickList para Unity – Taringa! Trackback en junio 2, 2011 en 4:25 am

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 )

Google photo

Estás comentando usando tu cuenta de Google. 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 )

Conectando a %s







¿Es compatible tu equipo con Ubuntu?


( Muchos fondos de pantalla, aqui )

DESCARGATE SCIFI LIFE

365 Dias de Soledad
Me debes los sueños, las promesas y las noches rotas. Me debes la paz, la sonrisa y la esperanza robadas. Me debes la sangre, las lágrimas y el sudor vertido. Me debes las noches vacías, los abrazos anhelados. Me debes un beso de ajenjo de tu amarga boca.

The Ubuntu Counter Project - user number # 11961
Geo Visitors Map
julio 2008
L M X J V S D
« Jun   Ago »
 123456
78910111213
14151617181920
21222324252627
28293031  

Blog Stats

  • 30.840.025 hits

A %d blogueros les gusta esto: