Mailinglist Archive: opensuse-es (1826 mails)
| < Previous | Next > |
Re: [suse-linux-s] Cambio nombre de ficheros mediante tr
- From: jose maria <letrados@xxxxxxxxxxx>
- Date: Thu, 30 Mar 2006 15:01:07 +0200
- Message-id: <200603301501.13946.letrados@xxxxxxxxxxx>
> El Miércoles, 29 de Marzo de 2006 19:42, Comventia Express escribió:
> > Hola a todos,
> >
> > Tengo un problema que me ha llevado toda la tarde y no consigo verlo. Es
> > probable que sea una g...llez y que no lo vea por el cansancio. Antes de
> > apagar el ordenador os lo dejo en la lista por si a alguien se le
> > enciende la luz.
> >
> > Tengo un directorio con ficheros provenientes de windows que tienen
> > espacios en el nombre. Mi intención es cambiar cada espacio por un guión
> > bajo. Por ejemplo, Fichero 1.txt cambiarlo a Fichero_1.txt. Tengo del
> > orden de 200 ficheros que responden al patron Fichero n.txt.
>
>
============ inicio script ==================
#!/bin/sh
DO=
if [ "_$1" = "_-n" ]
then
DO=echo
shift
fi
find $1 -depth -print |\
while read file
do
DIR=`expr "$file" : '\(\([^\/]*\/\)*\)\(.*\)'`
FILE=`expr "$file" : "$DIR"'\(.*\)'`
NFILE="$DIR"`echo "$FILE" | tr '[A-Z]' '[a-z]' | tr '][|!;:\ #$&~' _ `
if [ "$NFILE" != "$file" ]
then
if [ -f "$NFILE" ]
then
echo Warning: "$NFILE" exists "($file)"
else
echo Renaming: "$NFILE"
$DO mv "$file" "$NFILE"
fi
fi
done
================ Fin ==================
* Krename es una opcion en modo grafico bastante potente, entre otras cosas
por que antes de ejecutar la orden vas viendo "como seria el resultado"
| < Previous | Next > |