Como dividir arquivos maiores em partes menores?

159

Eu tenho um arquivo grande (8GB por exemplo). Como posso dividi-lo em várias partes, digamos 3 partes iguais e depois disso, como integrá-las mais tarde?

    
por karthick87 26.07.2011 / 16:42

6 respostas

237

Existem várias maneiras de conseguir isso. Vamos começar com os básicos.

Usando os comandos split e cat :

Vamos dizer que tenho uma imagem e é muito grande (10MB). Tudo que faço é:

split --bytes=1M /path/to/image/image.jpg /path/to/image/prefixForNewImagePieces

e depois para colocá-lo em conjunto eu uso cat:

cat prefixFiles* > newimage.jpg

Por exemplo:

Assumindo que estou dentro da pasta onde a imagem está:

split --bytes=1M myimage.jpg new

se a imagem estiver dentro de um diretório chamado images, você também pode fazer isso:

split --bytes=1M images/myimage.jpg new

Se a imagem estiver dentro do diretório / home / cyrex / images, você pode fazer isso:

split --bytes=1M /home/cyrex/images/myimage.jpg new

(em todos os casos acima, ele dividirá myimage.jpg em partes de 1 MB e prefixará o nome das partes com a palavra nova. Assim, elas se parecerão com newaa , newab , newac , newad ...)

Se você estiver dividindo um arquivo de texto e quiser dividi-lo por linhas, poderá fazer isso:

split -l 1000 book.txt new

Que dividirá o arquivo de texto em arquivos de saída de 1.000 linhas cada. Esta é outra maneira de dividir um arquivo e é usado principalmente para arquivos de texto como logs, dumps de sql, arquivos csv, etc.

Então eu mesclo eles

cat new* > newimage.jpg

Este é um caminho. Você pode até mudar o tamanho das peças divididas. Basta alterar a parte que diz --bytes=1M a --bytes=1K para 1 kilobyte ou 1G para giga ou outro número como --bytes=4K para peças de 4KB.

Usando o Nautilus

Outra maneira é a opção compress no gui do Nautilus. Ele oferece uma opção para dividir o arquivo ou arquivos que você deseja compactar em tamanhos menores de megabytes. É simples e fácil.

No entanto, outra maneira é usar 7z

Supondo que você tenha uma imagem ISO chamada ubuntu.iso , você pode fazer isso:

7z a -v5m -mx0 ubuntu.7z ubuntu.iso

Isso criará arquivos com 5 MB de tamanho a partir do ubuntu.iso . O -v5m é o tamanho do volume, então você pode mudá-lo para 10, 12, 1, 3 e também o m pode ser alterado para k para kilobytes, etc; a opção -mx0 diz ao 7-Zip para não usar compactação, isto é, apenas para dividir os dados em partes.

Para extrair apenas faça

7z x ubuntu.7z.001

Desta forma você extrai o primeiro arquivo e 7z começa a extrair os seguintes arquivos em ordem. Você também pode fazer

7z e ubuntu.7z.001

que tem o mesmo efeito aqui.

    
por Luis Alvarado 26.07.2011 / 17:05
9

Usando split -b com o número apropriado, você pode obter três partes.

O número pode ser:

size=$(wc -c <"file name")
one_third=$((size/3+1))

Para remontar, use cat

cat "file name"* > "file name"

As páginas de manual ajudarão a preencher os detalhes.

    
por enzotib 26.07.2011 / 16:58
4

HJSplit

É um programa freeware popular para dividir e recombinar arquivos. O programa está disponível no Windows, Linux e em várias outras plataformas.

O HJSplit for Linux é um divisor de arquivos freeware para Linux com interface gráfica de usuário completa. O HJSplit suporta tamanhos de arquivo de mais de 100 Gigabytes, Split, Join / Recombine, checksums MD5, file-compare, "run without install" e o programa é totalmente portátil.

O HJSplit for Linux não precisa ser instalado e não depende de nenhuma biblioteca especial. Apenas extraia o arquivo hjsplitlx.tar.gz em um diretório de sua escolha e inicie o programa a partir do gerenciador de arquivos do Linux ou de uma janela do terminal. Você pode precisar ajustar as permissões de arquivo do programa para 'executável'.

    
por Uri Herrera 26.07.2011 / 16:53
4

Gnomo dividido? link

  

O GNOME Split é uma ferramenta que permite dividir arquivos e mesclá-los de volta. Está escrito em Java e usa uma interface de usuário GTK + (graças ao projeto java-gnome). O objetivo é oferecer uma implementação nativa de projetos semelhantes que possam lidar com vários formatos de arquivo (por exemplo, Xtremsplit).

link

    
por Frank_Zafka 26.07.2011 / 22:47
3

HOZ - Hacha Open Zource v1.65 - link

Do desenvolvedor:

  

OZ é o que você chamaria de 'divisor de arquivos'. Seu formato de arquivo é o   mesmo que o utilizado pelo software 'Hacha', um divisor bem conhecido   Espanha e América Latina. HOZ é um C de código aberto e portátil   implementação de um divisor compatível com 'Hacha'.

     

HOZ é menor e mais rápido que 'Hacha'.

     

btw, eu usei um 'Z' na cabeça de um 'S' em 'Zource' porque 'hoz' é   'foice' em espanhol, e desde 'hacha' é a palavra espanhola para   'machado' ...

Após a instalação, você pode usar a Hoz GUI, largando ghoz em um terminal. A operação é tão simples que não precisa de explicação, mas informações adicionais podem ser obtidas no site do desenvolvedor.

Boa sorte!

    
por Geppettvs D'Constanzo 26.07.2011 / 17:09
0

WoodCutter

Um utilitário gratuito de divisão e mesclagem de arquivos desenvolvido em Java. É um aplicativo de tamanho pequeno que permite ao usuário dividir qualquer tipo de arquivo em tamanhos menores em KB, MB ou GB.

Está disponível para Linux e Windows.

O WoodCutter oferece 3 maneiras de mesclar os arquivos originais. O WoodCutter cria um arquivo de mesclagem que pode ser processado pelo aplicativo WoodCutter para unir todos os arquivos. Caso o receptor de arquivos de divisão não tenha o WoodCutter instalado, o arquivo original também pode ser obtido, pois o WoodCutter também cria um arquivo de lote e um arquivo de script do Shell para mesclar os arquivos de volta. O arquivo em lote será usado na plataforma Windows e o script Shell será usado nas plataformas Linux.

link

    
por Manas 28.07.2011 / 16:49