Hoje um colega do trampo me perguntou se tem algum comando rápido e fácil, em unix, pra dividir um arquivo em vários.
Como sei que esta pode ser uma dúvida para mais pessoas, resolvi publicar este mini artigo com o resumo da conversa.
Pergunta: tem algum comando rápido e fácil de unix pra dividir um arquivo em vários?
Resposta: split
Resposta: split -b 100M arquivo_origem destino
Resposta: vai quebrar o arquivo_origem em arquivos de 100 mbytes e o prefixo do nome será “destino”
Pergunta: tem como ser pela quantidade de linhas?
Resposta: split -l 100 arquivo_origem destino
Resposta: vai quebrar em arquivos de 100 linhas
Acho que pelo resumo do diálogo já é possível que se tenha uma ideia básica do funcionamento do comando split. Caso tenha mais dúvidas, consulte o help:
$ split --helpUsage: split [OPTION] [INPUT [PREFIX]]Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; defaultsize is 1000 lines, and default PREFIX is `x'. With no INPUT, or when INPUTis -, read standard input.Mandatory arguments to long options are mandatory for short options too.-a, --suffix-length=N use suffixes of length N (default 2)-b, --bytes=SIZE put SIZE bytes per output file-C, --line-bytes=SIZE put at most SIZE bytes of lines per output file-d, --numeric-suffixes use numeric suffixes instead of alphabetic-l, --lines=NUMBER put NUMBER lines per output file--verbose print a diagnostic to standard error justbefore each output file is opened--help display this help and exit--version output version information and exitSIZE may have a multiplier suffix:b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.