CSV ファイルを一定の行数毎に分割したいというケースがあったので Linux の split コマンドを使って対応しました。
split コマンドを使って、ファイル分割します。
split -l 100 users.csv tmp/users-
for文でループ処理させて、mv コマンドでファイル名の最後尾に .csv を1ファイルずつ付けます。
cd tmp/
for filename in users-*; do mv $filename $filename.csv; done
以上です。