Linux/Unix Shell Scripting - Ayuda con script

   
Vista:

Ayuda con script

Publicado por Jonatan (7 intervenciones) el 23/12/2013 00:09:32
Buenas noches.

Estoy con un ejercicio que bueno, he echo el script pero algo falla y querría vuestra ayuda.

Bien el ejercicio consiste en poner la ruta de una carpeta donde hay muchos archivos .jpg y .txt, y con el script he hecho insertar la ruta de los archivos donde estan dichas extensiones, y en esa misma carpeta crear dos sub-carpetas llamadas ARCHIVOSJPG Y ARCHIVOSTXT y ordenadar los jpg y txt.
Quizás con el script se vea mejor.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
echo "Introduzca la carpeta donde se encuentran los Datos desordenados"
  echo -n "Ruta de la carpeta: "
 
read RUTA
 
  EXTENSION=${RUTA##*.}
if [ $EXTENSION = "txt" -o $EXTENSION = "jpg" ]
then
        mkdir $RUTA/ARCHIVOSJPG
        mkdir $RUTA/ARCHIVOSTXT
        mv $RUTA/*.jpg /$RUTA/ARCHIVOSJPG
        mv $RUTA/*.txt /$RUTA/ARCHIVOSTXT
  echo "Archivos ordenador correctamente"
else
        echo "No se ha podido ordenar"
fi

Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Ayuda con script

Publicado por xve (254 intervenciones) el 23/12/2013 08:39:21
Hola Jonatan, muy buena la manera de obtener la extensión... he revisado mis apuntes, y yo lo tengo así:
1
EXTENSION=${RUTA#*.}
y para saber el nombre del archivo sin la extensión seria algo así:
1
EXTENSION=${RUTA%.*}


Sobre tu código, no se muy bien que error te da, pero puede ser que en la instrucción mv te sobre la barra inicial en la $RUTA? algo así:
1
2
mv $RUTA/*.jpg $RUTA/ARCHIVOSJPG
mv $RUTA/*.txt $RUTA/ARCHIVOSTXT

Si nos puedes comentar...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con script

Publicado por Jonatan (7 intervenciones) el 23/12/2013 10:46:32
Buenas.

Cuando ejecuto el script e introduzco la ruta, me salta el else, después me di cuenta que si ponía la ruta y un archivo .jpg por ejemplo, me salta un error diciendo que no se puede crear Archivos(que es la $RUTA)/archivo elejido.jpg/ARCHIVOSJPG.

Entonces lo que quiero es que vea los tipos de formato que hay en la carpeta, y se ejecute la condición, diciendo si es jpg o txt, crea estas carpetas, y los jpg los manda a una carpeta y los txt a otra.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de barna_rasta

Ayuda con script

Publicado por barna_rasta (33 intervenciones) el 23/12/2013 14:10:09
Hola Jonatan
1
2
3
4
5
then mkdir $RUTA/ARCHIVOSJPG
mkdir $RUTA/ARCHIVOSTXT
mv $RUTA/*.jpg /$RUTA/ARCHIVOSJPG
mv $RUTA/*.txt /$RUTA/ARCHIVOSTXT
echo "Archivos ordenador correctamente"

al loro!!! que creo estas creando directorios - aunque existan - e intentando " mv " 2 veces los jpg y txt.
( quizas deberias replantearte el atacar con " case " ==> http://iie.fing.edu.uy/~vagonbar/unixbas/shprog.htm#case )
OBS: Linux es sensible a Minusculas y Mayusculas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con script

Publicado por Jonatan (7 intervenciones) el 23/12/2013 20:57:22
mmmm no lo consigo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar