Domanda Come dividere file più grandi in parti più piccole?


Ho un file di grandi dimensioni (8 GB per esempio). Come posso dividerlo in più parti, diciamo 3 parti uguali, e in seguito come posso integrarle in seguito?


163
2017-07-26 14:42


origine


Questo sembra essere un duplicato di askubuntu.com/questions/12172/... - Jo-Erlend Schinstad
Sei sicuro che "Questo sembra essere" ?. Diamine, è la stessa cosa esatta. Tranne che qui è ora con un bonus di "Altri esempi e alternative". - Luis Alvarado♦
Potrebbe essere d'aiuto se dici di più sul perché vuoi dividerlo, e se lo vuoi dividere solo in sottostringhe di byte o se sei disposto ad averle racchiuse in qualsiasi tipo di controllo degli errori o etichettatura. Se questo è per metterlo su media più piccoli o per trasferimenti di rete, guarderei qualcosa di simile par2. - poolie
croce ref: stackoverflow.com/questions/7764755/... - Trevor Boyd Smith
una fodera per dividere equamente da N: (1.) divisa per linee divisa - riga $ (($ (wc -l <$ {tuo_filename}) / $ {N})) $ {your_filename} (2.) diviso per byte split - byte $ (($ (wc -c <$ {your_filename}) / $ {N})) $ {nome_file} - Trevor Boyd Smith


risposte:


Ci sono diversi modi per farlo. Iniziamo con quelli di base.

Usando il Diviso e gatto comandi:

Diciamo che ho un'immagine e è troppo grande (10 MB). Tutto ciò che faccio è:

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

e poi per metterlo insieme uso gatto:

cat prefixFiles* > newimage.jpg

Per esempio:

Supponendo che io sia all'interno della cartella in cui si trova l'immagine:

split --bytes=1M myimage.jpg new

se l'immagine è all'interno di una directory chiamata immagini puoi anche fare questo:

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

Se l'immagine è all'interno della directory / home / cyrex / images puoi farlo:

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

(In tutti i casi precedenti sarà diviso myimage.jpg in pezzi da 1 MB e prefissa il nome dei pezzi con la parola nuova. Così sarebbero come newaa, newab, newac, newad...)

Se stai dividendo a File di testo e vuoi dividerlo per linee puoi farlo:

split -l 1000 book.txt new

Che dividerà il file di testo in file di output di 1000 righe ciascuno. Questo è un altro modo per dividere un file ed è principalmente usato per file di testo come log, sql dump, file CSV, ecc.

Quindi li unisco

cat new* > newimage.jpg

Questo è un modo. Puoi anche cambiare la dimensione dei pezzi divisi. Basta cambiare la parte che dice --bytes=1M a --bytes=1K per 1 kilobyte o 1G per giga, o un altro numero come --bytes=4K per pezzi 4KB.

utilizzando nautilo

Un altro modo è l'opzione di compressione nella GUI di Nautilus. Ti dà la possibilità di dividere il file o i file che vuoi comprimere in dimensioni di megabyte più piccole. È semplice e facile.

Ancora un altro modo sta usando 7z

Supponendo di avere un'immagine ISO chiamata ubuntu.iso potresti fare questo:

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

Questo creerà file di dimensioni 5MB dal ubuntu.iso. Il -v5m è la dimensione del volume in modo da poterla cambiare in 10, 12, 1, 3 e anche m può essere cambiata in k per kilobyte, ecc; il -mx0 switch dice a 7-Zip di non usare alcuna compressione, cioè per dividere i dati in parti.

Per estrarre basta fare

7z x ubuntu.7z.001

in questo modo si estrae il primo file e 7z inizia l'estrazione dai seguenti file in ordine. Puoi anche fare

7z e ubuntu.7z.001

che ha lo stesso effetto qui.


244
2017-07-26 15:05



Non includeva rar poiché non è ancora open source (per quanto ne so) e non ha aggiunto Tar, visto che stavo cercando dei modi semplici per fare lo split. - Luis Alvarado♦
Aggiungi anche gzip - 7zip richiede un pacchetto di installazione iirc - Broam
Per quello che so, Gzip (come tar) non ha una facile opzione per dividere il file compresso. In tutti i casi li ho visti usando il comando split per "dividere" il file compresso. Quindi non sarebbe un comando ma un gruppo di comandi per raggiungere un singolo scopo che può essere fatto con uno solo come split o 7z. Per l'installazione di 7Zip (che è il p7zip del pacchetto p7zip-full) non mi ha mai chiesto di iirc;). - Luis Alvarado♦
Aggiunta la suddivisione di file di testo. Dimenticato di questo e oggi è successo così ho dovuto dividere un paio di file CSV. Questo è per quelle discariche che devi avere una quantità specifica di linee. - Luis Alvarado♦


utilizzando split -b con il numero appropriato, puoi ottenere tre pezzi.

Il numero potrebbe essere:

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

Per rimontare, usa cat

cat "file name"* > "file name"

Le pagine del manuale aiuteranno a riempire i dettagli.


9
2017-07-26 14:58





HJSplit

È un popolare programma freeware per dividere e ricombinare i file. Il programma è disponibile su Windows, Linux e una varietà di altre piattaforme.

HJSplit per Linux è uno splitter di file gratuito per Linux con un'interfaccia utente grafica completa. HJSplit supporta file di dimensioni superiori a 100 Gigabytes, Split, Join / Recombine, checksum MD5, file-compare, "run without install" e il programma è completamente portatile.

HJSplit per Linux non ha bisogno di essere installato e non dipende da alcuna libreria speciale. Basta estrarre l'archivio hjsplitlx.tar.gz in una directory di tua scelta e avviare il programma dal file manager di Linux o da una finestra di terminale. Potrebbe essere necessario regolare le autorizzazioni del file del programma su "eseguibile".

enter image description here


4
2017-07-26 14:53



Devo dire che il file di Windows funziona anche su Linux. - Uri Herrera
Ci sono diversi modi per suddividere / unire un file prima di andare a un programma come questo. Io uso piuttosto le potenti opzioni offerte da linux e per dividere / unire i file ha alcuni modi abbastanza veloci e sicuri di farlo. - Luis Alvarado♦
È sicuro, veloce, ed è multipiattaforma che include LINUX, non è un'applicazione solo WINDOWS che capita di funzionare anche in Linux ... - Uri Herrera
Io uso HJSplit, è fantastico e semplice. Non è necessario digitare i comandi e i nomi dei parametri quando è sufficiente riempire i valori dei parametri in caselle di testo. - Matthew Read
E il download gratuito lo rende peggiore perché? e devo dire che ORA NEL DISCO CHIEDE IL SOFTWARE GRATUITO (che questo è, è gratuito) e che cosa si sta chiamando si chiama APERTO, c'è una differenza che sai? - Uri Herrera


Gnome split? http://gnome-split.org/

GNOME Split è uno strumento che ti permette di dividere i file e unirli di nuovo. È scritto in Java e utilizza un'interfaccia utente GTK + (grazie al progetto java-gnome). L'obiettivo è offrire un'implementazione nativa di progetti simili in grado di gestire più formati di file (ad esempio Xtremsplit).

http://www.omgubuntu.co.uk/2010/08/split-large-files-easily-in-ubuntu-with-gnome-split/


4
2017-07-26 20:47





HOZ - Hacha Open Zource v1.65 - http://hoz.sourceforge.net/

enter image description here

Dallo sviluppatore:

OZ è ciò che chiameresti 'file splitter'. Il suo formato file è il   come quello usato dal software 'Hacha', uno splitter ben noto in   Spagna e America Latina. HOZ è un C open-source e portatile   implementazione di uno splitter compatibile con 'Hacha'.

HOZ è più piccolo e più veloce di 'Hacha'.

btw, ho usato una "Z" non di una "S" in "Zource" perché "hoz" lo è   'falce' in spagnolo, e dal momento che 'hacha' è la parola spagnola per   'ascia'...

Dopo l'installazione, puoi utilizzare la GUI di Hoz lasciandola cadere ghoz in un terminale. L'operazione è così semplice che non ha bisogno di spiegazioni, ma ulteriori informazioni possono essere raggiunte nel sito dello sviluppatore.

In bocca al lupo!


3
2017-07-26 15:09





Taglialegna

Un programma di spaccatura e unione di file libero sviluppato in Java. È un'applicazione di piccole dimensioni che consente a un utente di suddividere qualsiasi tipo di file in dimensioni più piccole in KB, MB o GB.

È disponibile per Linux e Windows.

WoodCutter offre 3 modi per unire i file originali. WoodCutter crea un file unione che può essere elaborato dall'applicazione WoodCutter per unire tutti i file. Nel caso in cui il ricevitore di file divisi non abbia installato WoodCutter, anche il file originale può essere ottenuto come WoodCutter crea anche un file batch e un file di script Shell per unire i file. Il file batch verrà utilizzato nella piattaforma Windows e lo script Shell verrà utilizzato nelle piattaforme Linux.

http://java-puzzle.blogspot.com/2009/07/woodcutter.html


0
2017-07-28 14:49



La licenza è "freeware". Penso che uno strumento software libero nei repository sia una soluzione migliore. - Broam