logrotateとかそういうprogramがあるけれど、実はほぼ自分で答え書いてるんだよ。うだうだ言ってくる奴は無視してshやcを学べ。入出力の挙動が分かればこんなのいくらでも思いつくんだから。
以下をループすればいけるんじゃないの。sedがもうこれ以上は入力とらないよって所がポイントだ。
ループ仕方が分からないって?甘えんじゃねえ!
top -b |sed '1000q' >top.log