То, как Jas написал это лучше, чем любой из двух других ответов, потому что он использует копирование в облаке. Оба эти ответа каждый раз загружаются в облако.
Чтобы сделать это быстрее, вы можете распараллелить записи, например,
for i in {1..10000}; do
for j in {1..100}; do
gsutil cp gs://BUCKET_NAME/FILENAME.csv "gs://BUCKET_NAME/FILENAME_${i}_${j}.csv" &
done
wait
done
Вы могли бы сделать это еще быстрее, если бы вы переключились на (скажем) Python и внедрили, используя очередь задач, так что вы сохраняете 100 рабочих непрерывно занятыми вместо того, чтобы порождать 100 потоков и позволять им каждый заканчивать работу перед порождением следующего пакета (как реализация bash выше).