シェルスクリプトで少し速くファイルに出力する

連番の何かを書いたファイルを出力する場合、シェルスクリプトを書いて実行したりするのですが(RubyとかPythonとかでやりたいけどすぐに書けるほどスキルがない……)数が多いとそれなりに時間がかかります。
それが気になっていたのですが、ループでファイルに出力する際にちょっと記述に気を付ければすこしだけ高速に出力できるみたいです。
環境:RHEL 5.5 64bit

aaa.sh

#!/bin/sh

for i in `seq 1 10000`
do
  printf "%05d\n" $i >> aaa.dat
done

bbb.sh

#!/bin/sh

for i in `seq 1 10000`
do
  printf "%05d\n" $i
done > bbb.dat

diff

$ diff -u aaa.sh bbb.sh
--- aaa.sh      2011-07-28 10:20:14.000000000 +0900
+++ bbb.sh      2011-07-28 10:20:38.000000000 +0900
@@ -2,5 +2,5 @@

 for i in `seq 1 10000`
 do
-  printf "%05d\n" $i >> aaa.dat
-done
+  printf "%05d\n" $i
+done > bbb.dat

実行してみる

$ time ./aaa.sh
real    0m0.244s
user    0m0.176s
sys     0m0.047s

$ time ./bbb.sh
real    0m0.131s
user    0m0.118s
sys     0m0.013s


大体半分くらいでしょうか。結構かわるものですねえ。