Hola, como hago si el fichero que busco o un directorio de la ruta tiene un espacio? ej archivo nuevo
Me da un error
script: dado un nombre de fichero y una ruta, buscar fichero, si existen mover a ruta
if [ $# -ne 2 ] #debe introducir fichero y ruta
then
echo "Debe especificar un fichero y una ruta"
echo "Uso:" $0 "<fichero> <ruta>"
exit 1
fi
if [ ! -d $2 ] #comprueba si ruta dada existe
then
echo "El directorio no existe"
exit 1
fi
find / -name $1 >basura #busca el fichero desde arhivo raiz y guarda en un fichero "basura" los ficheros encontrados
if [ ! -s basura ] #si archivo esta vacio (no se encontro nada)
then
echo "No se encontro ningun resultado con" $1
rm basura
exit 1
fi
cat -n basura #imprime el fichero "basura" numerando las lineas
echo "Introduzca numero del archivo que quiere mover a "$2 "(S/Salir)"
read op
case $op in
[sS])
rm basura #borra fichero "basura" generada
exit 1
;; #salir
[sS]alir)
rm basura #borra fichero "basura" generada
exit 1
;;
*)
fichero=`sed -n "${op}p" basura` #guarda la linea seleccionada en variable "fichero"
rm basura #borra fichero "basura" generada
;;
esac
if [ -z $fichero ] #si variable "fichero" esta vacia opcion no valida
then
echo "Opcion no valida"
exit 1
fi
echo "Muevo el fichero?"$fichero "a" $2 "(S/N)"
read res
case $res in
[sS])
echo "Moviendo fichero.."
mv $fichero $2 #mover archivo a ruta
if true
then
echo "Fichero movido"
else
echo "ERROR" #errores por permisos
fi
;;
*)
echo "El fichero no sera movido"
;;
esac