Il peut être utile de scinder un fichier en plusieurs parties pour des transferts de gros dumps ou de large fichiers entre serveurs. La méthode est relativement simple et utilise un paquet disponible par défaut sur toutes les distribution UNIX.

split-large-files-linux-unix-scinder-fichier-dump-2

Scinder un fichier en plusieurs parties avec split

Voici un head du manpage de la commande split :

Usage: split [OPTION]... [FILE [PREFIX]]
Output pieces of FILE to PREFIXaa, PREFIXab, ...;
default size is 1000 lines, and default PREFIX is 'x'.

Deux options nous intéressent ici pour splitter un fichier en plusieurs parties :

-l linenumber
-b bytes
  • L’option -l permet de définir une limite du nombre de lignes à partir duquel le fichier sera coupé
  • L’option -b permet de définir une limite de taille de fichier, le fichier d’origine sera alors scindé en X parties de Y Ko / Mo / Go.

Scinder un fichier en plusieurs parties en fonction du nombre de lignes

Pour scinder un fichier à partir de X lignes, voici la commande :

split -l 500 mon_fichier_original nom_de_chaque_partie_

Ici, le fichier mon_fichier_original sera scindé en parties de 500 lignes. Chacune de ces parties sera nommée nom_de_chaque_partie_XX :

  • nom_de_chaque_partie_aa
  • nom_de_chaque_partie_ab
  • nom_de_chaque_partie_ac
  • nom_de_chaque_partie_ad

Scinder un fichier en plusieurs parties d’une taille fixe

Pour scinder un fichier en plusieurs parties en fonction d’une taille fixée, voici la commande :

split -b 500MB mon_fichier_original nom_de_chaque_partie_

Le fichier sera ici splitté en plusieurs parties de 500Mb.

Pour plus d’informations, retrouvez le Manpage de la commande Split ici et retrouvez tous nos articles Linux en suivant ce lien.

Sources