テキストファイルを固定文字数で切って、行番号をつけるプログラム

抜粋

#!ruby -Ks

head_figure = 3
text_length = 80 - head_figure - 2

while line = gets do
  line.chomp!

  lines = Array.new
  while line.gsub!( /^.{#{text_length}}/, '' ) do
    lines << $&
  end
  lines << line

  # 行番号をつけて出力
  result = ''
  lines.each_with_index do | str, index |
    if index == 0 then
      # 行番号をつける
      result << sprintf( "%0#{head_figure}d: ", lines.length + 1 )
    else
      # 先頭に空白をつける
      result << ' ' * ( head_figure + 2 )
    end
    result << str + "\n"
  end

  print result
end