stk_sort_by_ts.rb: 0.1.0

#!/bin/ruby

# No warranty.
# Be careful to use.

# Filename : stk_sort_by_ts.rb
# Author   : sak (http://sak.que.jp)
# Revision : 0.1.0
# Date     : Fri Apr 09 20:10:13 JST 2004
# Require  : Ruby

# Example of usage:
# ruby stk_sort_by_ts.rb      < infile.stk > outfile.stk
# ruby stk_sort_by_ts.rb -new < infile.stk > outfile.stk

card = []
line = []
init = true
stat = nil
while STDIN.gets do
        if $_ =~ /^@$/
                stat = true
        elsif $_ =~ /^\d{4}\/\d{2}\/\d{2}\(\d{2}:\d{2}:\d{2}\)$/ && stat
                if !init
                        card << line
                else
                        init = nil
                end
                line = []
                line << '@' << $_.chomp
                stat = nil
        elsif $_ !~ /^\d{4}\/\d{2}\/\d{2}\(\d{2}:\d{2}:\d{2}\)$/ && stat
                line << '@' << $_.chomp
                stat = nil
        elsif !stat
                line << $_.chomp
        end
end
card << line

if (ARGV[0].downcase rescue false) == '-new'
        puts card.sort.reverse
else
        puts card.sort
end

2004/04/11(23:58:22)