Concaténer des fichier splittés en ligne de commande sous Linux

terminalParfois sur les newsgroups, on tombe sur des fichiers qui ont été splittés et pas seulement compressés. Sous Windows, je connaissais HJsplit pour se charger facilement du travail de concaténation de ces fichiers, mais sous Linux, aucune idée.

J’ai bien entendu cherché d’abord un utilitaire avec une interface graphique et je suis tombé sur un vieux logiciel plus maintenu pour linux, Xtremsplit. Le comble c’est qu’ils conseillent d’utiliser la version windows avec wine. Donc je passe mon chemin.

Et puis, au détour d’une entrée dans le planet francophone d’Ubuntu, je suis tombé là-dessus.

COMMENT REMETTRE ENSEMBLE TOUS CES MORCEAUX ?

En fait c’est très simple, une seule ligne de commande dans un terminal va faire le job.
Nos fichiers se présentent sous la forme suivante :

nom_du_fichier.avi.001
nom_du_fichier.avi.002
nom_du_fichier.avi.003
nom_du_fichier.avi.004

J’ai pris l’exemple de fichiers .avi, car, ne nous voilons pas la face, c’est ce qu’on rencontre souvent.

Donc voici comment faire :

  1. On ouvre un terminal
  2. On se place dans le dossier contenant nos fichiers, si ce n’est pas déjà fait, par exemple le dossier DL de notre home
  3. cd /home/agatzebluz/DL

  4. On tape la commande suivante :
  5. cat nom_du_fichier.avi.* > nom_du_fichier_concaténé.avi

    L’étoile est un joker permettant de prendre en compte tous les fichiers qui commencent par « nom_du_fichier.avi. », donc tous nos fichiers splittés. Quant à « nom_du_fichier_concaténé.avi » c’est le nom que vous choisissez pour votre fichier de sortie.

  6. Et on attend qu’il fasse le travail. Ce n’est pas plus compliqué que ça.

Elle est pas belle la vie avec la ligne de commande ? 🙂

14 réflexions au sujet de « Concaténer des fichier splittés en ligne de commande sous Linux »

  1. Ouaiiis, trop biiien !

    Enfin un gars qui a compris a quoi sert cat, c’est deja pas mal !

  2. J’ai utilisé cat au début et je suis reparti sous Xtremsplit assez vite, ayant retrouvé des fichiers .xtm

  3. Euh corrigez-moi si je me trompe mais l’usage du simple chevron écrase le contenu du fichier depuis le début, or ici on cherche à concaténer fichier.avi.* à fichier.avi… il faut donc utiliser le double chevron.
    la commande correcte ne serait-elle pas plutot ‘cat fichier.avi.* >> fichier.avi’ ?

    EDIT : ooops j’ai lu trop vite 😡

  4. @ mota : bon, je vais prendre ça pour un compliment hein !
    @ Matt : et c’est quoi un fichier xtm ?
    @ bechmoul : non pas d’erreur, ça marche comme ça et rien n’est écrasé. J’ai testé sur plusieurs lots de fichiers sans problème. Le fichier .avi n’existe pas dans le dossier à la base puisqu’on le crée avec la commande. Ou alors je n’ai pas compris ce que tu veux dire.

  5. @agatzebluz: Attention…

    cat sur des fichiers .xtm … c’est dangereux !! 🙂

    Les fichiers XTM continent des « headers ». Avec cat, tu les concatène avec !
    Alors, effectivement, si c’est un film, et que vous l’ouvrez avec VLC, oui, ca fonctionne… Mais si c’est un autre fichier, genre un ISO … gare au fichiers corrompu !

    Bon.. tout ca pour dire que je suis le développeurs de TuXtremSplit, un portage d’Xtremsplit sous Linux.

    Il existe une version 0.1.2 qui fonctionne asser bien…
    Mais je bosse sur la 2.0.0 actuellement ( fonctionne nettement mieux 😉 )

    ++

  6. tu peux même faire le psychopathe et faire directement comme ceci :

    cat nom_du_fichier.avi.001 nom_du_fichier.avi.002 nom_du_fichier.avi.003 nom_du_fichier.avi.004 | mplayer –

    le ‘-‘ devant mplayer étant là pour lui dire de lire son fichier vidéo depuis l’entrée standard (ici le résultat de ton cat).

    Autre remarque, il faut faire attention en utilisant le ‘*’ : tu pourrais très bien avoir le 002 qui vienne avant le 001 et du coup, tu pourrais obtenir un truc un peu bizarre.

  7. @ zedtux.

    Non, les fichiers xtm se concaténe très bien.
    J’ai pas mal de DVD venant de fichiers xtm qui ne posent aucun soucis.

  8. @ Zedtux : je ne savais pas ce qu’était un fichier xtm, donc je ne me serait pas risqué à essayer dans ce cas.
    Maintenant que je connais ton soft, je vais devoir l’essayer. Je vois ça et je fais un billet quand j’aurai du recul. Il faut dire que je ne télécharge pas tous les jours des fichiers splittés.
    Merci de ton commentaire.

  9. J’aime bien le logo du terminal au tout début de ton article. Il provient d’un pack d’icônes?

  10. Cool je serais plus obliger de prendre cutkiller comme ça. Je garde ça sous la main.
    Gracie

  11. Avec un peu de retard : un fichier.xtm est un fichier splitté avec Xtremsplit. Comme l’a dit zedtux, il contient des entêtes qui permettent de vérifier l’intégrité des fichiers (à la manière des fichiers .par sous Usenet).

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *