Thread View: es.comp.os.linux.programacion
6 messages
6 total messages
Started by pacolinx
Sat, 04 Feb 2006 15:10
Quitar blancos del nombre de los ficheros
Author: pacolinx
Date: Sat, 04 Feb 2006 15:10
Date: Sat, 04 Feb 2006 15:10
23 lines
1692 bytes
1692 bytes
Quiero quitar los blancos de los ficheros de la carpeta actual y de los
subdiretorios, pero no lo consigo.
Que esta mal?
cat blancos.sh
#!/bin/bash
for i in $(find -name *.mp3); do
nuevo=`echo "$i" | sed -s 's/\ //g'`;
echo $nuevo
done
MIl gracias
--
|||
(o o)
(_)
--oOOo-oOOo----------------------------------------------
Pacolinux. http://pagina.de/pacodebian Valencia (Spain)
Linux Debian Reg. User #1000434411 (http://counter.li.org)
--oOOo-oOOo----------------------------------------------
La cita de hoy:
Septiembre es bueno si del 1 al 30 pasa sereno.
Re: Quitar blancos del nombre de los ficheros
Author: Jorge S. de Lis
Date: Sat, 04 Feb 2006 15:44
Date: Sat, 04 Feb 2006 15:44
13 lines
1354 bytes
1354 bytes
pacolinx en es.comp.os.linux.programacion escribi�:
> \
Falla porque no hay que escapar el espacio. Osease, quedando as�:
nuevo=`echo "$i" | sed -s 's/ //g'`;
En lugar de todo eso, tb puedes usar esto que deber�a funcionar
correctamente:
find -iname *.mp3 -execdir rename 's/ //g' {} +
Saludos.
Re: Quitar blancos del nombre de los ficheros
Author: Quim Testar
Date: Tue, 07 Feb 2006 10:54
Date: Tue, 07 Feb 2006 10:54
29 lines
1922 bytes
1922 bytes
pacolinx wrote: > Quiero quitar los blancos de los ficheros de la carpeta actual y de los > subdiretorios, pero no lo consigo. > Que esta mal? > > cat blancos.sh > #!/bin/bash > for i in $(find -name *.mp3); do > nuevo=`echo "$i" | sed -s 's/\ //g'`; > echo $nuevo > done > > MIl gracias > Yo diria que el for te itera por cada 'palabra' de la lista, o sea que se est� usando el espacio de separador en el resultado del find Se podr�a arreglar poniendo algo as� #!/bin/bash IFS=" " for i in $(find -name *.mp3); do nuevo=`echo "$i" | sed -s 's/\ //g'`; echo $nuevo done ... o sea que le dices que el internal field separator (IFS) es el salto de l�nea en vez del espacio.
Re: Quitar blancos del nombre de los ficheros
Author: Quim Testar
Date: Tue, 07 Feb 2006 10:55
Date: Tue, 07 Feb 2006 10:55
1 lines
1262 bytes
1262 bytes
Perd�n, antes he respondido al mail de pacolinux sin querer....
Re: Quitar blancos del nombre de los ficheros
Author: Joseba Beltrán
Date: Thu, 09 Feb 2006 12:12
Date: Thu, 09 Feb 2006 12:12
23 lines
1584 bytes
1584 bytes
O reemplazar nuevo=`echo "$i" | sed -s 's/\ //g'`; por nuevo=`echo "$i" | tr -d ' '`; que viene a ser lo mismo ;) Saludos > #!/bin/bash > IFS=" > " > for i in $(find -name *.mp3); do > nuevo=`echo "$i" | sed -s 's/\ //g'`; > echo $nuevo > done > > ... o sea que le dices que el internal field separator (IFS) es el salto > de l�nea en vez del espacio.
Re: Quitar blancos del nombre de los ficheros
Author: J.A. Gutierrez
Date: Mon, 13 Feb 2006 09:48
Date: Mon, 13 Feb 2006 09:48
47 lines
2183 bytes
2183 bytes
pacolinx <contestaralgrupo@microsoft.com> wrote: : Quiero quitar los blancos de los ficheros de la carpeta actual y de los : subdiretorios, pero no lo consigo. : Que esta mal? : cat blancos.sh : #!/bin/bash : for i in $(find -name *.mp3); do : nuevo=`echo "$i" | sed -s 's/\ //g'`; : echo $nuevo : done --------------------------------------------------------------------------- #!/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 --------------------------------------------------------------------------- -- PGP and other useless info at \ http://webdiis.unizar.es/~spd/ \ finger://daphne.cps.unizar.es/spd \ Timeo Danaos et dona ferentes ftp://ivo.cps.unizar.es/pub/ \ (Virgilio)
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads