Linux: Como dividir um arquivo grande em arquivos menores?


10

Eu tenho um arquivo gigante (> 20 GB) em minha máquina de origem e preciso transferi-lo para minha máquina de destino. Para os fins desta pergunta, vamos supor que eu não tenho conectividade de rede entre as duas máquinas.

Preciso dividir esse arquivo em uma série de arquivos menores, gravar os arquivos menores em DVD (s) e remontar tudo na máquina de destino.

As máquinas de origem e de destino são caixas Linux. Existe uma maneira de fazer isso usando tar? Sinto que preciso usar o --multi-volumeparâmetro Quais são as minhas opções?

Eu preciso ser capaz de especificar o tamanho dos arquivos de volume, para garantir que cada um caiba em um único DVD.

Obrigado!

Respostas:


14

Use o comando split.

split -b 22 m newfile.txt new dividiria o arquivo "newfile.txt" em três arquivos separados chamados newaa, newab e newac, cada arquivo com o tamanho de 22 MB.


3
Tenha cuidado ao criar o prefixo "novo" que você compartilha com o arquivo original "newfile.txt". Agora, quando você tenta fazer cat new* > newfile.txtisso, vai explodir!
Robert Martin

@RobertMartin Good catch!
duffbeer703

6

Outras respostas foram cobertas splitpara combiná-las em um arquivo mestre que você acabou de usar cat.



0

dividir -b 4000000000 nome_do_arquivo

Ele criará cada arquivo de 4 GB

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.