Por questões de integridade, aqui estão algumas pequenas melhorias:
- Você pode salvar o cabeçalho uma vez e reutilizá-lo várias vezes
- Você pode inserir o cabeçalho nos arquivos divididos usando
sedsem arquivos temporários
Assim:
header=$(head -n 1 file.csv)
tail -n +2 file.csv | split -l 20
for file in x??; do
sed -i -e 1i$'\\n'"$header" "$file"
done
O $'\\n' é um caractere NEWLINE que escapou com uma barra invertida. A expressão sed significa: insira $header antes da primeira linha.