Comment diviser un fichier volumineux de + 4 Go en fichiers plus petits d'environ 500 Mo chacun.
Et comment puis-je les réassembler à nouveau pour obtenir le fichier d'origine?
command-line
split
Stefan
la source
la source
Réponses:
Vous pouvez utiliser split et chat .
Par exemple, quelque chose comme
(où le nom de fichier d'entrée est
foo
et le dernier argument est le préfixe de sortie). Cela va créer des fichiers commefoo.000 foo.001
...La même commande avec des options courtes:
Vous pouvez également spécifier "--line-bytes" si vous souhaitez diviser les lignes au lieu du nombre exact d'octets.
Pour ré-assembler à nouveau les pièces générées, vous pouvez utiliser par exemple:
(en supposant que le shell trie les résultats de son déplacement - et que le nombre de pièces ne dépasse pas la limite d'arguments dépendante du système)
Vous pouvez comparer le résultat via:
(ce qui devrait donner 0)
Vous pouvez également utiliser une combinaison de find / sort / xargs pour réassembler les éléments:
la source
man split cat md5sum
cat foo.{000..NNN}
où seNNN
trouve la dernière pièce attendue. De cette façon, vous obtenez un message d'erreur si l'une des pièces est manquante. Mais notez que l’-d
obtention de suffixes numériques est spécifique à la division GNU; sur d' autres plates - formes que vous devez faire avecfoo.aaa
,foo.aab
etc.split
, KB = 1000, K = 1024, MB = 1000 * 1000, M = 1024 * 1024 etc.... cat > foo_3
être... cat >>foo_3
?rar
et7zip
sont souvent utilisés pour faciliter le réassemblage de ces fractionnements multiplate-formeVous pouvez également le faire avec Archive Manager si vous préférez une interface graphique. Regardez sous "Enregistrer-> Autres options-> Diviser en volumes de".
la source