#!/bin/bash
#
#Opción B del examen
#
# Script que necesita dos parámetros; un directorio
# y una extensión. Lo que hace es renombrar todos los
# archivos que se encuentren en ese directorio
# añadiéndoles la extensión indicada.
#
# Primero una función para mostrar la ayuda ante un mal uso.
ayuda () {
echo -e "Uso:\n${0} directorio .extensión"
echo "El directorio debe existir y ser de su propiedad."
exit
}
# ¿Os acordáis de que se podían encadenar órdenes de forma elegante?
#con dos tuberías ejecuta el primer comando y, si da error, el segundo
#Lo uso para comprobar que se pasan dos argumentos y que el
#primero de ellos existe y es un directorio.
#La última comprobación da cierto si el argumento es propiedad de
#quien ejecuta el script
test $# -eq 2 || ayuda
test -d $1 || ayuda
test -O $1 || ayuda
#Una vez salvadas todas las comprobaciones no queda más que
#recorrer el directorio guardando en una variable su contenido.
i=0
LISTA=`ls -A $1`
for OBJETO in $LISTA
do
# Sólo renombraré los archivos convencionales
if [ -f ${1}/$OBJETO ]
then
mv -f ${1}/$OBJETO ${1}/${OBJETO}$2
i=`expr $i + 1`
fi
done
# Mensajito descriptivo de lo hecho
clear
if [ $i -ne 0 ]
then
echo -e "Hecho.\nSe han renombrado $i ficheros en $1"
else
echo -e "Hecho.\nNo se han encontrado archivos que renombrar."
fi
read -sn 1 -p "Pulse una tecla para finalizar" BASURA
clear