- Remova o cabeçalho e coloque-o em um arquivo separado
header.txt
. -
dividir os dados usando
split --lines=100 data.txt
(isso gera muitos arquivos com 100 linhas neles nomeados xaa xab xac e assim por diante) - Em seguida, anexe o cabeçalho a cada arquivo
for a in x??; do cat header.txt $a > $a.txt; done
Isso resulta em seus arquivos de dados acabados (com cabeçalhos) sendo chamadosxaa.txt xab.txt xac.txt ...
Se a quantidade de dados for tão grande (ou você dividir em menos linhas) que os arquivos xxx não são suficientes, a divisão torna quatro arquivos nomeados por letras. Nesse caso, insira um ?
extra na for
-exposição acima.
Editar:
Para automatizar a extração do cabeçalho, use head -4 origdata.txt > header.txt
para extrair as primeiras quatro linhas. Use tail -n +4 origdata.txt > data.txt
para extrair tudo, exceto as quatro primeiras linhas. Agora você tem dois arquivos, um com o cabeçalho e outro com os dados. Não deve ser muito difícil combinar isso com um script. (Eu não tenho acesso ao bash hoje)