it-swarm.it

Rompere un file di grandi dimensioni in pezzi più piccoli

Come faccio a spezzare un grande file + 4GB in file più piccoli di circa 500 MB ciascuno.

E come posso rimontarli di nuovo per ottenere il file originale?

66
Stefan

Puoi usare split e cat .

Ad esempio qualcosa del genere

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

(dove il nome file di input è foo e l'ultimo argomento è il prefisso di output). Questo creerà file come foo.000 foo.001 ...

Lo stesso comando con opzioni brevi:

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

È inoltre possibile specificare "--line-bytes" se si desidera suddividere i limiti della linea anziché solo il numero esatto di byte.

Per riassemblare nuovamente i pezzi generati è possibile utilizzare ad es .:

$ cat foo.* > foo_2

(presupponendo che Shell ordina i risultati del globbing di Shell e che il numero di parti non superi il limite di argomenti dipendente dal sistema)

Puoi confrontare il risultato tramite:

$ cmp foo foo_2
$ echo $?

(che dovrebbe generare 0)

In alternativa, è possibile utilizzare una combinazione di find/sort/xargs per riassemblare i pezzi:

$ find -maxdepth 1 -type f -name 'foo.*'  | sort | xargs cat > foo_3
80
maxschlepzig

Puoi anche farlo con Archive Manager se preferisci una GUI. Cerca in "Salva-> Altre opzioni-> Dividi in volumi di".

4
user1498