J'ai plusieurs (27) énormes (plusieurs GB chacun) des fichiers d'archives BZ2 que j'ai besoin combinés en une archive BZ2. Décompressez-les, puis créant une nouvelle archive de ce qui était juste non compressé n'est pas une option pour moi, car comprimé, les 27 fichiers s'ajoutent jusqu'à environ 100 Go, et non compressé, il est environ 5-6Tb (oui c'est des téraoctets lol). P>
Peut-on être fait avec une sorte de script ou existe-t-il un autre format de compression qui permet de faire cela (plus facile)? P>
4 Réponses :
Vous devez retourner la question - vous ne devez pas essayer de décompresser puis de recompréger les fichiers, simplement de faire une archive de goudron de tous les fichiers distincts - goudron est idéal comme conteneur pour les fichiers séparés.
tar cf tarofbzfiles.tar *.bz2
En fait, j'ai vraiment besoin d'une archive contenant tout le contenu des 27 archives, lol. Je suis à peu près sûr qu'une archive contenant 27 archives ne fonctionnera malheureusement pas à mon objectif. :(
Quel type de fichier est l'archive .bz2? Si c'est un fichier de goudron, il est possible de les concaténer. Il nécessiterait un script enchaînant la notion de chacune des archives dans leur propre tuyau / FIFO qui est utilisée dans un ensemble de commandes de gol -a, qui se concluent tous en une FIFO qui est de la canalisation à travers bzip2
Je pense i> chaque fichier est un seul fichier XML (énorme). J'essaie actuellement une commande appelée bzcat comme ceci: bzcat * .bz2> newfile.bz2 code>. Je l'ai commencé il y a plus d'une heure, donc nous verrons comment ça se passe ... beaucoup plus tard. :)
bzcat * .bz2 | bzip2 -c> newfile.bz2 - Si vous ne re-bzip2 pas le fichier, vous n'obtiendrez pas la compression !!
Vous pouvez simplement concaténer de nombreux fichiers BZ2 dans un fichier BZ2 unique, comme celui-là: p>
$ CAT File1.bz2 File2.bz2 File3.bz2> résultat_file.bz2 code> p>
bzip2 code> et d'autres utilitaires tels que
lbzip2 code> sera en mesure de décompresser le fichier résultant comme prévu. P>
En fait, ça marche! De l'homme Bzip2: Bunzip2 décompressera correctement un fichier qui est la concaténation de deux fichiers compressés ou plus. Le résultat est la concaténation des fichiers non compressés correspondants. Les tests d'intégrité (-T) de fichiers compressés concaténés sont également pris en charge. Code>
Si vous êtes prêt à brûler quelques jours de CPU, voici une solution avec la facilité de tuyau magique des systèmes d'exploitation modernes Unix (R): ... effectivement, saisir lbzip2
Vous pouvez raccourcir la réponse de @ Lacos avec le BZCAT CODE> BZCAT pour
BZIP2 -DC CODE> ET TUYAL RETOUR dans
BZIP2 CODE> Comme d'habitude. Pas plus correct que @lacos mais un peu slicker;)