Me gusta hacer fotos y subirlas a flickr. Eso sí, antes de subirlas hago una selección, porque ahora, con las cámaras digitales, puedo sacar cientos de fotos en un fin de semana. Lo que no me gusta es subir las fotos con nombres como IMG_4356.jpg. Tampoco me gusta que después de seleccionar las fotos que voy a subir, queden huecos en la numeración. Es decir, que después de Fuerteventura_012.jpg venga Fuerteventura_023.jpg. Para evitar esto he desarrollado un script en Ruby que tal vez le pueda venir bien a alguien.
El script se invoca de la siguiente manera:
$ renamepics.rb new_name [n_digits]
y lo que hace es renombrar cada fichero JPG del directorio actual, de manera que el nuevo nombre será de la forma:
new_name_ddd.jpg
Siendo ddd un número de n_digits dígitos, y siendo la númeración de las fotografías consecutiva. Es decir, si tengo, por ejemplo, estos 3 ficheros:
IMG_4367.jpg
IMG_4370.jpg
IMG_4389.jpg
Ejecutando:
$ renamepics.rb Fuerteventura 2
Se convertirían en:
Fuerteventura_01.jpg
Fuerteventura_02.jpg
Fuerteventura_03.jpg
Maníatico que es uno. Si alguien lo usa, que sea bajo su propia responsabilidad. Aquí tenéis el script:
#!/usr/local/bin/ruby unless (1..2).include? ARGV.length puts "Usage: #{$0} new_name [n_digits]" exit end require 'fileutils' new_name = ARGV[0] n_digits = ARGV[1].nil? ? 3 : ARGV[1] c = 1 d = Dir.new(Dir.pwd) d.entries.sort.each do |e| re = /(.+).jpg/ md = re.match e unless md.nil? n = new_name + '_' + sprintf("%0#{n_digits}d", c) + ".jpg" c = c + 1 begin FileUtils.mv "#{e}", "#{n}" rescue Exception => e md = /^same file/.match e next unless md.nil? end puts "#{e} => #{n}" end end
![Validate my RSS feed [Valid RSS]](/wp-content/themes/javiervidal/images/valid-rss.png)