こんばんは(もう朝か),久野です。

Date: Tue, 6 Mar 2001 00:04:50 +0900
Subject: [ruby-list:28530] テキストファイルを固定文字数で切って、行番号をつけるプログラム
Message-ID: <200103051501.AA00051 / icecream.hi-fi-net.com>
From: Keisuke Minami <keisuke / rccn.com>

「正規表現ですぱっと」ということで,書いてみました。詳しくは
<http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=%C0%B5%B5%AC%C9%BD%B8%BD>
をご参照ください。

#!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

------------------------------
久野 宏三 (HISANO Kozo)
mailto:mail / seventhree.com
------------------------------