Foro de elhacker.net

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.

Código:
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
  1. #!/bin/bash
  2. #
  3. #
  4. #
  5.  
  6. ################################################
  7. #
  8. # Functions
  9. #
  10. ################################################
  11.  
  12. DIR=$(pwd)
  13.  
  14.  
  15. Music()
  16. {
  17. if [ -e "$DIR/Music" ];then
  18.       echo -n ""
  19. else
  20.       mkdir Music
  21. fi
  22.  
  23. mv *.mp3 "$DIR/Music" 2>/dev/null
  24. mv *.wav "$DIR/Music" 2>/dev/null
  25. mv *.midi "$DIR/Music" 2>/dev/null
  26. }
  27.  
  28. Movies()
  29. {
  30. if [ -e "$DIR/Movies" ];then
  31.       echo -n ""
  32. else
  33.       mkdir Movies
  34. fi
  35.  
  36. mv *.avi "$DIR/Movies" 2>/dev/null
  37. mv *.mpeg "$DIR/Movies" 2>/dev/null
  38. mv *.mpg "$DIR/Movies" 2>/dev/null
  39. }
  40.  
  41.  
  42. Pictures()
  43. {
  44. if [ -e "$DIR/Pictures" ];then
  45.       echo -n ""
  46. else
  47.       mkdir Pictures
  48. fi
  49.  
  50. mv *.jpeg "$DIR/Pictures" 2>/dev/null
  51. mv *.jpg "$DIR/Pictures" 2>/dev/null
  52. mv *.gif "$DIR/Pictures" 2>/dev/null
  53. mv *.png "$DIR/Pictures" 2>/dev/null
  54. }
  55.  
  56. Compressed()
  57. {
  58. if [ -e "$DIR/Compressed" ];then
  59.       echo -n ""
  60. else
  61.       mkdir Compressed
  62. fi
  63.  
  64. mv *.zip "$DIR/Compressed" 2>/dev/null
  65. mv *.rar "$DIR/Compressed" 2>/dev/null
  66. mv *.7z "$DIR/Compressed" 2>/dev/null
  67. mv *.tar "$DIR/Compressed" 2>/dev/null
  68. mv *.tar.bz2 "$DIR/Compressed" 2>/dev/null
  69. mv *.tar.gz "$DIR/Compressed" 2>/dev/null
  70. }
  71.  
  72.  
  73. ################################################
  74. #
  75. # Main Program
  76. #
  77. ################################################
  78.  
  79. Music
  80. Movies
  81. Pictures
  82. 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
  1. #!/bin/bash
  2. if [ ! -d "./Music" ]
  3. then
  4. mkdir "./Music";
  5. mv *.mp3 *.wav *.midi &> /dev/null
  6. else
  7. mv *.mp3 *.wav *.midi &> /dev/null
  8. fi
  9.  
  10. if [ ! -d "./Movies" ]
  11. then
  12. mkdir "./Movies";
  13. mv *.avi *.mpeg *.mpg ./Movies &> /dev/null
  14. else
  15. mv *.avi *.mpeg *.mpg &> ./Movies /dev/null
  16. fi
  17.  
  18. if [ ! -d "./Pictures" ]
  19. then
  20. mkdir "./Pictures";
  21. mv *.jpeg *.jpg *.gif *.png ./Pictures &> /dev/null
  22. else
  23. mv *.jpeg *.jpg *.gif *.png ./Pictures &> /dev/null
  24. fi
  25.  
  26. if [ ! -d "./Compressed" ]
  27. then
  28. mkdir "./Compressed"
  29. mv *.zip *.rar *.7z *.tar *.tar.bz2 *.tar.gz ./Compressed &> /dev/null
  30. else
  31. mv *.zip *.rar *.7z *.tar *.tar.bz2 *.tar.gz ./Compressed &> /dev/null
  32. fi
  33.  


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