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
sed
sem 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.