Rubyでファイル名の変更

id:muscovyduck:20060430#1146348795
僕にはこれが限界です。biasが1固定だったら、String#succが使えそうです。全体的にはあまりスマートになってません。Dir.glob('*')を使ってるので余分なファイルがある場合にメモリを余計に使いそうです。

#!/usr/bin/env ruby

Dir.glob('*').sort.reverse.each do |src|
  next unless src =~ /^((?:[A-Z_]){4})((?:[0-9]){4})\.JPG$/
  dst = "#{$1}#{$2.succ}.JPG"
  File.rename(src, dst)
  # puts "#{src} #{dst}" # デバッグ用
end