È possibile utilizzare il comando split
con l'opzione -b
:
split -b 1024m file.tar.gz
Può essere riassemblato su una macchina Windows utilizzando @Joshua 's risposta.
copy /b file1 + file2 + file3 + file4 filetogether
Edit: Come @Charlie indicato nel commento qui sotto, si potrebbe desiderare di impostare un prefisso in modo esplicito perché userà x
in caso contrario, che può essere fonte di confusione.
split -b 1024m "file.tar.gz" "file.tar.gz.part-"
// Creates files: file.tar.gz.part-aa, file.tar.gz.part-ab, file.tar.gz.part-ac, ...
Edit: Modifica del post perché domanda è chiusa e la soluzione più efficace è molto vicino al contenuto di questa risposta:
# create archives
$ tar cz my_large_file_1 my_large_file_2 | split -b 1024MiB - myfiles_split.tgz_
# uncompress
$ cat myfiles_split.tgz_* | tar xz
Questa soluzione evita la necessità di utilizzare un file di grandi dimensioni intermedio durante la (de) compressione. Utilizzare l'opzione tar -C per utilizzare una directory diversa per i file risultanti. btw, se l'archivio è composto da un solo file, tar potrebbe essere evitato e solo gzip utilizzato:
# create archives
$ gzip -c my_large_file | split -b 1024MiB - myfile_split.gz_
# uncompress
$ cat myfile_split.gz_* | gunzip -c > my_large_file
Per le finestre è possibile scaricare le versioni porting degli stessi comandi o l'uso Cygwin.
Sento il tuo dolore ma questo non sembra essere correlato alla programmazione. –
Molti programmi di compressione (ad esempio 7-Zip) sono in grado di dividere il file compresso in volumi di una dimensione specificata per una distribuzione più semplice. –
Questo appartiene a superuser.com, ma la beta privata non verrà avviata prima di domani, mi è stato detto. – JesperE