jueves, 13 de septiembre de 2012

Organizar / mover archivos a distintas carpetas según su extensión (Bash Script)











Hoy quiero mostrar un script indicado para aplicarlo a todos esos archivos que descargamos de Internet y que nos da pereza organizar en carpetas. Por ejemplo, nos bajamos un montón de imágenes, de archivos html de páginas web que nos han gustado, también mp3s de nuestros artistas favoritos y luego hay que ir seleccionando y moviendo a su carpeta correspondiente. Con este script nos olvidamos de esa tarea monótona y pesada. Lo único que tenemos que hacer es indicar las carpetas destino según el tipo de archivo. Además, si dicha carpeta no existe, la crea. La ruta carpeta origen corresponde con la ruta donde encuentra el script, así que si por ejemplo los archivos a organizar están en /home/usuario/Descargas, pues guardaremos el script en esa carpeta.

Pasemos a ver el código para entenderlo mejor:


#!/bin/bash

dirwebs="/home/usuario/web"
dirimg="/home/usuario/img"
 

# archivos jpg

ls -1 *.jpg | while read archivo
do
   echo "ARCHIVOS COPIADOS: ""$archivo"
   mkdir -p "$dirimg"
   mv "$archivo" "$dirimg"
done 


# archivos html y carpetas

ls -1 -d */ *.html *.htm | while read archivo
do
   echo "ARCHIVOS COPIADOS: ""$archivo"
   mkdir -p "$dirwebs"
   mv "$archivo" "$dirwebs"
done

 

Ni que decir tiene que éste se trata de un ejemplo y que podemos modificarlo y añadirle todas las condiciones que queramos para dejarlo a nuestro gusto y poder mover cualquier tipo de archivo a la carpeta deseada. 

Para cualquier duda podéis utilizar los comentarios.





Sea el primero en comentar

Publicar un comentario

Felinfo: Java, Linux, Virtualización. Open Source.  ©Template Blogger Green by Dicas Blogger .

TOPO