viernes, septiembre 08, 2006

Mayusculeador/Minusculeador

Para pasar todos los nombres de ficheros de un directorio de mayúsculas a minúsculas o viceversa.
Admite 2 tipos de parámetros:
-por defecto pasa de mayúsuclas a minúsculas; para pasar de minúsculas a mayúsculas: -r
-el directorio sobre el que actuar (directorio actual si no se indica nada).

#!/bin/bash
###################################
#
# Copyleft Ivan Eguiguren
# September the 8th, 2006
#
###################################

[ -d "$1" ] && cd $1
[ -d "$2" ] && cd $2
[ "$1" == "-r" ] && MAY=1
[ "$2" == "-r" ] && MAY=1
ls > /tmp/listado1
if [ $MAY ] ; then
tr 'a-z' 'A-Z' < /tmp/listado1 > /tmp/listado2
else
tr 'A-Z' 'a-z' < /tmp/listado1 > /tmp/listado2
fi
join -i -a1 -a2 -o 1.1 2.1 /tmp/listado1 /tmp/listado2 > /tmp/listado3
sed -e 's/^/mv /' /tmp/listado3 > /tmp/listado4
chmod 755 /tmp/listado4
/tmp/listado4
sleep 4
rm /tmp/listado[1-4]