Quebre um arquivo grande em partes menores

60

Como quebro um arquivo grande, + 4GB em arquivos menores de cerca de 500MB cada.

E como eu re-monto eles novamente para obter o arquivo original?

    
por Stefan 04.09.2010 / 20:51

2 respostas

72

Você pode usar divisão e < em> gato .

Por exemplo, algo como

$ split --bytes 500M --numeric-suffixes --suffix-length=3 foo foo.

(onde o nome do arquivo de entrada é foo e o último argumento é o prefixo de saída). Isso criará arquivos como foo.000 foo.001 ...

O mesmo comando com opções curtas:

$ split -b 100k -d -a 3 foo foo

Você também pode especificar "--line-bytes" se quiser dividir os limites da linha em vez de apenas o número exato de bytes.

Para remontar novamente as partes geradas, você pode usar, por exemplo:

$ cat foo.* > foo_2

(assumindo que o shell classifica os resultados da globalização do shell - e o número de partes não excede o limite de argumentos dependentes do sistema)

Você pode comparar o resultado via:

$ cmp foo foo_2
$ echo $?

(que deve produzir 0)

Alternativamente, você pode usar uma combinação de find / sort / xargs para montar as peças:

$ find -maxdepth 1 -type f -name 'foo.*'  | sort | xargs cat > foo_3
    
por 04.09.2010 / 21:00
4

Você também pode fazer isso com o Archive Manager, se preferir uma GUI. Veja em "Salvar- > Outras opções- > Dividir em volumes de '.

    
por 05.09.2010 / 15:44