Uma abordagem totalmente diferente seria usar o paralelo GNU e usar suas opções --header
e --pipe
:
cat input.csv | parallel --header : --pipe -N 10 'cat > output{#}.csv'
Isso te dará 11 linhas em cada um dos arquivos (a linha de cabeçalho mais os dez de -n 10
, exceto no último arquivo escrito dessa forma).