>271 こんな感じ?
動かしてみたら分かると思うけど、先頭に余計な改行が付いたり、RSに設定した行が消えたり、
split(",a,b,c", a, ",")のように、ログの最初に「空ログ」が来るから、
getlineで1つずつ読んだほうがいいかと思われ。

BEGIN {
  RS = "[0-9]+:[^:]*:[0-9]+/[0-9]+/[0-9]+[ \t]*[0-9]+:[0-9]+"
  hr = sprintf("%78s", "")
  gsub(/ /, "-", hr)
  ORS = "\n" hr "\n"
}
{ a[NR] = $0 }
END {
  for (i = NR; i >= 1; i--)
    print a[i]
}

# 以下ログ
1:デフォルトの名無しさん:03/05/08 23:41
2ch

net

2:デフォルトの名無しさん:03/05/08 23:42
age
sage