Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: panchocolate en 4 Abril 2011, 05:08 AM

Título: [Bash] Script para Organizar
Publicado por: panchocolate en 4 Abril 2011, 05:08 AM
alguien sabe si existe la forma de organizar archivos en linux con un script?

por ejemplo que tenga una cancion en un folder y la mande automaticamente a la carpeta de musica o una imagien y la mande a la carpeta de imagenes?

o algun script para extraer archivos de un .rar o .zip?
Título: Re: [Bash] Script para Organizar
Publicado por: leogtz en 4 Abril 2011, 05:28 AM
Claro que se puede, pero detalla un poco más que es lo que quieres.

rar x file.rar
unzip file.zip
Título: Re: [Bash] Script para Organizar
Publicado por: panchocolate en 5 Abril 2011, 04:33 AM
es que voy a subir archivos, algunos en .zip o .rar y los demas en .mp3, jpg lo comun

mediante webmin los voy  a suvir a una carpeta y lo que ocupo es que cuando los envien los acomode o descomprima automaticamente, el script y su ejecucion lo puedo acomodar con el webmin

nada mas no tengo el script que haga eso  :o


encontre este codigo
Código (bash) [Seleccionar]
#!/bin/bash
#
#
#

################################################
#
# Functions
#
################################################

DIR=$(pwd)


Music()
{
if [ -e "$DIR/Music" ];then
      echo -n ""
else
      mkdir Music
fi

mv *.mp3 "$DIR/Music" 2>/dev/null
mv *.wav "$DIR/Music" 2>/dev/null
mv *.midi "$DIR/Music" 2>/dev/null
}

Movies()
{
if [ -e "$DIR/Movies" ];then
      echo -n ""
else
      mkdir Movies
fi

mv *.avi "$DIR/Movies" 2>/dev/null
mv *.mpeg "$DIR/Movies" 2>/dev/null
mv *.mpg "$DIR/Movies" 2>/dev/null
}


Pictures()
{
if [ -e "$DIR/Pictures" ];then
      echo -n ""
else
      mkdir Pictures
fi

mv *.jpeg "$DIR/Pictures" 2>/dev/null
mv *.jpg "$DIR/Pictures" 2>/dev/null
mv *.gif "$DIR/Pictures" 2>/dev/null
mv *.png "$DIR/Pictures" 2>/dev/null
}

Compressed()
{
if [ -e "$DIR/Compressed" ];then
      echo -n ""
else
      mkdir Compressed
fi

mv *.zip "$DIR/Compressed" 2>/dev/null
mv *.rar "$DIR/Compressed" 2>/dev/null
mv *.7z "$DIR/Compressed" 2>/dev/null
mv *.tar "$DIR/Compressed" 2>/dev/null
mv *.tar.bz2 "$DIR/Compressed" 2>/dev/null
mv *.tar.gz "$DIR/Compressed" 2>/dev/null
}


################################################
#
# Main Program
#
################################################

Music
Movies
Pictures
Compressed


pero no hace nada, creo que hace las carpetas en lugar de utilizar las que ya tiene el sistema, entonces como le haria para mover archivos de por ejemplo, musica a la carpeta musica?
Título: Re: [Bash] Script para Organizar
Publicado por: leogtz en 5 Abril 2011, 06:26 AM
Bueno, lo haré a mi manera, bueno, dame algunos minutos para hacerlo.

¿El script en qué directorio checará que dichos archivos estén?
Título: Re: [Bash] Script para Organizar
Publicado por: panchocolate en 6 Abril 2011, 04:33 AM
en el que sea pero psss "/" en la raiz del sistema
Título: Re: [Bash] Script para Organizar
Publicado por: leogtz en 6 Abril 2011, 22:35 PM
Prueba esto:
Código (bash) [Seleccionar]
#!/bin/bash
if [ ! -d "./Music" ]
then
mkdir "./Music";
mv *.mp3 *.wav *.midi &> /dev/null
else
mv *.mp3 *.wav *.midi &> /dev/null
fi

if [ ! -d "./Movies" ]
then
mkdir "./Movies";
mv *.avi *.mpeg *.mpg ./Movies &> /dev/null
else
mv *.avi *.mpeg *.mpg &> ./Movies /dev/null
fi

if [ ! -d "./Pictures" ]
then
mkdir "./Pictures";
mv *.jpeg *.jpg *.gif *.png ./Pictures &> /dev/null
else
mv *.jpeg *.jpg *.gif *.png ./Pictures &> /dev/null
fi

if [ ! -d "./Compressed" ]
then
mkdir "./Compressed"
mv *.zip *.rar *.7z *.tar *.tar.bz2 *.tar.gz ./Compressed &> /dev/null
else
mv *.zip *.rar *.7z *.tar *.tar.bz2 *.tar.gz ./Compressed &> /dev/null
fi
Título: Re: [Bash] Script para Organizar
Publicado por: panchocolate en 7 Abril 2011, 04:23 AM
solo muebe las imagenes, lo demas nop

me sale esto:


root@server2 Downloads]# ./script2.sh
./script2.sh: line 8: ./Music: Is a directory
./script2.sh: line 16: ./Movies: Is a directory