Para dividir el csv y mantener la primera fila (encabezado de columna), basta con crear un Shell script y echarlo andar en el mismo directorio adonde esté el archivo csv original.
1- Abrir editor de texto, pegar el texto siguiente y guardar como: dividir.sh
#!/bin/bash
FILENAME=miarchivo.csv
HDR=$(head -1 $FILENAME)
split -l 500 $FILENAME xyz
n=1
for f in xyz*
do
if [ $n -gt 1 ]; then
echo $HDR > Part${n}.csv
fi
cat $f >> Part${n}.csv
rm $f
((n++))
done
2- Abrir terminal, navegar adonde están el archivo csv original y correr script así:
sh dividir.sh
Nota -> sustituir miarchivo.csv por el nombre de tu archivo. Y 500 por el número de filas que deseas que contenga cada nuevo archivo csv.