Não com split
, mas você pode renomeá-los facilmente depois ou pode fazer isso em awk
:
awk '{filename = "wrd." int((NR-1)/10000) ".txt"; print >> filename}' inputfile
Existe um comando padrão para divisão de arquivos - divisão.
Por exemplo, se eu quiser dividir um arquivo de palavras em vários blocos de 10.000 linhas, posso usar:
split -dl 10000 words wrd
e geraria vários arquivos no formato wrd.01, wrd.02 e assim por diante.
Mas eu quero ter uma extensão específica para esses arquivos - por exemplo, eu quero obter arquivos wtd.01.txt, wrd.02.txt.
Existe uma maneira de fazer isso?
Isso não estava disponível na época, mas com mais recente As versões ( ≥ 8.16
) de gnu split
um podem usar a opção --additional-suffix
para ter controle sobre a extensão resultante. De man split
:
--additional-suffix=SUFFIX
append an additional SUFFIX to file names.
quando usar essa opção:
split -dl 10000 --additional-suffix=.txt words wrd
as peças resultantes terminarão automaticamente em .txt
:
wrd00.txt
wrd01.txt
.........
Tais tarefas são melhor gerenciadas com o shell. Use split e, em seguida, escreva um loop simples para renomear os arquivos. Por exemplo,
for file in wrd.*
do
mv "$file" "$file.txt"
done
renomeia seus arquivos wrd.01, wrd.02, etc. para que todos tenham uma extensão .txt.