最近遇到这种目录
1.txt 2.txt 3.txt 4.txt ...100.txt 101.txt
排序起来真麻烦。我的另一篇blog 快速修改顺序命名文件,有用shell做处理,无奈shell语法怪异,记不住

又犯了程序猿的毛病:重复造轮子!
#!/bin/ruby
# annidy 2014-6-11
d = Dir.new(".")
max = 0
d.each {|x|
m = /^\d+\./.match(x)
m = m or ["0"]
max = [max, m.to_s.to_i].max
}
mx = max.to_s.length
print("Max = ", max)
puts
d.each {|x|
m = /^\d+\./.match(x)
if m
l = mx - m.to_s.length + 1
if l > 0
File.rename(x, "0" * l + x)
end
end
}
还好吧,花了10m,马马虎虎测了一下。主要是给自己省事
照旧,放了一个gist
ruby -e "$(curl https://gist.githubusercontent.com/annidy/9264e8a8bb21f4b941a5/raw/03a114efcc775574fed4b9c781e852a99892687c/pname.rb)"
Have fun!