Cambiar varios nombres a la Vez?
Antonio Galicia Ceballos
jcgalici en agc.com.mx
Lun Jun 28 20:08:57 CLT 2004
On Mon, 28 Jun 2004, Cristian Gutierrez wrote:
> > Te recomiendo que aprendas a programar en shell, te solucionará muchos
> > problemas.
>
> Y mi recomendacion va por Perl:
>
> perl -e 'system sprintf("mv \"%s\" %02d.png",$_,++$n) foreach @ARGV' *.png
Dos apuntes:
. Un problema inmediato es que si hay nombres con espacios no van a
moverse (aun con las comillas). Mejor hacer:
ls -1 *.png | perl -ne 'system sprintf("mv \"%s\" %02d.png",$_,++$n)'
. No me agrada ejecutar de inmediato algo que sale de un proceso
automático si no puedo revertirlo o al menos examinarlo antes de que se
ejecuta así que un nuevo cambio:
ls -1 *.png | perl -ne 'printf("mv \"%s\" %02d.png",$_,++$n)'
con lo que ves lo que haras, el resultado lo pasas por bash, directo del
stream o mediando archivo.
lo_de_arriva | bash
lo_de_arriva > archivo.revisar
bash archivo.revisar
> No solo te solucionara, sino que te creara muchos nuevos e interesantes
> problemas :-D
Eip, pero no lo mandes a la guerre sin saber en lo que se mete ;)
Por cierto, el código esta hecho sobre las rodillas (desde la lap) y no
se ha probado, tener esto en cuenta ya que puede no funcionar. Para probar
deberias copiar un par de archivos en otro directorio y ver que hace.
Agrega archivos con espacios, nombres muy largos, etc.
--
Saludos,
Toño.
---
http://agc.com.mx/antoniogc/blog
Más información sobre la lista de distribución Linux