Compresser en fichier en plusieurs parties ?

Gaffophone

Membre actif
1 Septembre 2008
176
10
51
Dijon
Salut à tous,

Je cherche un moyen de compresser un fichier de 7 Go environ en plusieurs parties (au moins 2) dans le but de pouvoir le copier du DD de mon iMac vers mon disque externe qui est en FAT32 (et qui, si j'ai bien compris, je gère pas les fichiers de plus de 4 Go)

J'ai essayé avec Stuffit mais je ne trouve pas d'options me permettant de faire ça.

Est-ce possible avec Stuffit ou bien existe-t-il d'autres softs permettant de le faire, même sans compression à la limite.

Merci d'avance !

Gaffo
 
Bonsoir

Il est possible de scinder un fichier en plusieurs morceaux grâce à la commande en ligne « dd » sous Terminal.

Les paramètres utiles de cette commande sont :
if (input file) : désigne le fichier lu (source)
of (output file) : désigne le fichier écrit (destination)
skip : indique le nombre de bloc sauté dans le fichier lu avant de commencer la copie
count : indique le nombre de bloc à copier
Les tailles sont indiquées en nombres de blocs, la taille par défaut d'un bloc étant de 512 octets.​

Il existe d'autres commandes plus simples, mais moins flexibles.


Admettons qu'on veuille découper le fichier mondossier/mongrosfichier.dat qui fait 2,9Go et qui se trouve sur le disque DD1, en 3 fichiers sauv/fic1.dat, sauv/fic2.dat et sauv/fic3.dat de 1Go maxi (soit 2097152 blocs de 512 octets) sur le disque DD2.

Alors on peut taper les commandes suivantes :
Bloc de code:
[SIZE="1"]dd if=[COLOR="DarkRed"]/Volumes/DD1/mondossier/mongrosfichier.dat[/COLOR] of=[COLOR="Sienna"]/Volumes/DD2/sauv/fic1.dat[/COLOR] count=[COLOR="Teal"]2097152[/COLOR]
dd if=[COLOR="DarkRed"]/Volumes/DD1/mondossier/mongrosfichier.dat[/COLOR] of=[COLOR="Sienna"]/Volumes/DD2/sauv/fic2.dat[/COLOR] skip=[COLOR="Teal"]2097152[/COLOR] count=[COLOR="Teal"]2097152[/COLOR]
dd if=[COLOR="DarkRed"]/Volumes/DD1/mondossier/mongrosfichier.dat[/COLOR] of=[COLOR="Sienna"]/Volumes/DD2/sauv/fic3.dat[/COLOR] skip=[COLOR="Teal"]4194304[/COLOR][/SIZE]

La première ligne copie les 2097152 premiers blocs de mongrosfichier.dat, soit 1Go, dans fic1.dat .
La seconde ligne relit mongrosfichier.dat en sautant (skip) le premier Go (2097152 blocs) et copie le Go suivant (2097152 blocs), dans fic2.dat .
Enfin, la troisième ligne relit mongrosfichier.dat en sautant (skip) les deux premiers Go (4194304 blocs) et copie la fin du fichier dans fic3.dat .

Pour reconstituer le fichier d'origine dans mondossier/ouf.dat, on peut utiliser la commande suivante :
Bloc de code:
[SIZE="1"]cat [COLOR="Sienna"]/Volumes/DD2/sauv/fic1.dat /Volumes/DD2/sauv/fic2.dat /Volumes/DD2/sauv/fic3.dat[/COLOR] > [COLOR="DarkRed"]/Volumes/DD1/mondossier/ouf.dat[/COLOR][/SIZE]


---------- Nouveau message ajouté à 21h34 ---------- Le message précédent a été envoyé à 21h24 ----------

Une façon plus simple de découper un fichier en morceaux de taille fixe est d'utiliser la commande « split ». La taille est alors précisée en nombre d'octets. Les fichiers créés sont enregistrés dans le dossier courant et c'est la commande qui fixe leur nom.

La commande pour découper en morceaux de 1Go (1073741824 octets) serait :
Bloc de code:
[SIZE="1"]split -b [COLOR="Teal"]1073741824[/COLOR] [COLOR="DarkRed"]/Volumes/DD1/mondossier/mongrosfichier.dat[/COLOR][/SIZE]

Les fichiers alors créés dans le dossier courant sont xaa, xab et xac.
 
Merci à vous tous pour ces réponses :)

En fait j'ai finalement réussi à trouver l'option dans Stuffit, elle se trouve dans les préférences où on peut choisir un format de parties prédéfinies (par exemple taille d'un CD) ou indiquer la taille de son choix.
 
Oui mais il te compresse le fichier en même temps non ? Ca doit prendre un temps fou ?
 
En effet il le compresse en même temps et c'est assez long mais d'une part je ne serai pas amené à le faire souvent et d'autre part j'ai vu qu'on pouvait régler le taux de compression en mettant même aucune compression, ce qui doit aller plus vite.

La prochaine fois je ferai de même mais sans la compression pour comparer.