
Bash Script
Publicado por Pablo (1 intervención) el 03/10/2016 03:24:34
Hola, tengo que crear tres scripts; el primero que reciba dos parámetros. El primer parámetro es el path de un archivo de texto, dicho archivo contiene una serie de rutas. Como segundo parámetro la ruta de un directorio fuente donde buscar los archivos definidos en el primer parámetro. Al finalizar la ejecución los archivos del directorio fuente deberán moverse al destino definido en el archivo pasado como primer parámetro.
Ejemplo
home/usuario/mp3/music.mp3
home/usuario/txt/tp.txt
home/usuario/jpg/foto.jpg
Los archivos que se deberán buscar en la carpeta fuentes son music.mp3 , tp.txt y foto.jpg. El destino de cada uno de ellos es la ruta definida en el archivo pasado por parámetro.
El Segundo es basicamente el mismo script pero modificandolo para validar que el primer parámetro sea un archivo y el segundo sea un directorio. De no ser correcto deberá retornar un error a través de una función error. Generar un archivo ejecución.log que guarde los eventos que sucedieron dentro del script.
y el Ultimo es igual al anterior pero tengo que modificarlo para que organice los archivos de un directorio fuente en diferentes carpetas según el tipo de archivo
lo que yo hice fue lo siguiente, en el primero :
Pero por alguna razon, me dice que tiene permisos denegados, aunque yo le modifique los permisos dandole absoluto control de todo. chmod 7777 a todo... carpetas y subcarpetas y arhcivos..todo...
en el segundo hice esto:
pero no funciona.
y en el ultimo:
pero tampoco funciona...las carpetas ya estan creadas con anterioridad...
si alguien sabe de como solucionar mis scripts se los agradeceria...
Ejemplo
home/usuario/mp3/music.mp3
home/usuario/txt/tp.txt
home/usuario/jpg/foto.jpg
Los archivos que se deberán buscar en la carpeta fuentes son music.mp3 , tp.txt y foto.jpg. El destino de cada uno de ellos es la ruta definida en el archivo pasado por parámetro.
El Segundo es basicamente el mismo script pero modificandolo para validar que el primer parámetro sea un archivo y el segundo sea un directorio. De no ser correcto deberá retornar un error a través de una función error. Generar un archivo ejecución.log que guarde los eventos que sucedieron dentro del script.
y el Ultimo es igual al anterior pero tengo que modificarlo para que organice los archivos de un directorio fuente en diferentes carpetas según el tipo de archivo
lo que yo hice fue lo siguiente, en el primero :
1
2
3
4
5
6
7
8
9
10
#! /bin/bash
read -p"Introduzca el Archivo con las Rutas de Destino: " rutas
read -p"Introduzca la Ruta del Directorio fuente: " fuente
for LINEA in 'cat $rutas'
do
NOMBRE='echo $LINEA ! cut-d"/"-f4' #Extraigo el nombre del archivo
find /$busqueda -iname "$NOMBRE" -exec mv {} $archivo \; #Busco el archivo, y lo muevo.
done
Pero por alguna razon, me dice que tiene permisos denegados, aunque yo le modifique los permisos dandole absoluto control de todo. chmod 7777 a todo... carpetas y subcarpetas y arhcivos..todo...
en el segundo hice esto:
1
2
3
4
5
6
7
8
9
10
#! /bin/bash
read -p"Introduzca La Ruta del Archivo que desea Mover: " mover
read -p"Introduzca la Ruta del Directorio don desea moverlo: " dejar
for archivo in " $mover"
do
/bin/chmod R+ 7777 $archivo
/bin/mv $archivo $dejar
done
pero no funciona.
y en el ultimo:
1
2
3
4
5
6
7
8
9
10
11
12
13
#! /bin/bash
read -p"Introduzca La Ruta del Archivo que desea Mover: " archivo
#destino=read -p"Introduzca la Ruta del Directorio don desea moverlo: "
dirjpg="/home/pxp/Escritorio/TP/jpg"
dirmp3="/home/pxp/Escritorio/TP/mp3"
dirtxt="home/pxp/Escritorio/TP/txt"
find $archivo -name *.mp3 - exec mv $dirmp3
find $archivo -name *.jpg - exec mv $dirjpg
find $archivo -name *.txt - exec mv $dirtxt
pero tampoco funciona...las carpetas ya estan creadas con anterioridad...
si alguien sabe de como solucionar mis scripts se los agradeceria...
Valora esta pregunta


0