Recherche sur le site Web

Comment utiliser la commande split pour diviser des fichiers texte sous Linux


Découvrez comment diviser un fichier volumineux en plusieurs fichiers plus petits à l'aide de la commande split sous Linux.

Linux propose une large gamme de commandes pour la manipulation et le traitement du texte, y compris la commande split. Avec la division, vous pouvez facilement diviser des fichiers volumineux en fichiers plus petits ou extraire des parties spécifiques d'un fichier en fonction de certains critères.

Voyons comment utiliser la commande split pour diviser des fichiers sous Linux. Que vous ayez besoin d'extraire des parties spécifiques d'un fichier volumineux ou de diviser un fichier en morceaux plus petits, la commande split peut vous aider à atteindre facilement vos objectifs.

Qu'est-ce que la commande divisée ?

La commande split est un outil de ligne de commande Linux populaire créé par Torbjorn Granlund et Richard M. Stallman. Comme son nom l'indique, la commande split est utilisée pour diviser un fichier en sous-fichiers plus petits.

Cette commande est utile pour gérer des fichiers volumineux ou lors du transfert de fichiers sur des réseaux à bande passante limitée. En divisant un fichier volumineux en parties plus petites, vous pouvez réduire la quantité de données qui doivent être transférées ou stockées à un moment donné. Vous pouvez également inverser la commande split pour combiner plusieurs fichiers en un seul.

La syntaxe de commande divisée

La syntaxe de base de la commande split est :

split [OPTION]... [FILE] [PREFIX]
  • [OPTION] : La commande split propose différentes options pour décider de la manière dont vous souhaitez que le fichier soit divisé ainsi que d'autres fonctionnalités spécifiques que vous pourriez souhaiter ajouter.
  • [FILE] : Il s'agit du chemin d'accès au fichier que vous souhaitez diviser.
  • [PREFIX] : Ceci fait référence au préfixe des sous-fichiers.

Comment utiliser la commande split

Vous pouvez utiliser la commande split pour diviser un fichier volumineux en fichiers plus petits par taille ou longueur. Vous pouvez même choisir le nombre spécifique de fichiers plus petits que vous souhaitez.

Pour la démonstration, nous utiliserons un fichier texte nommé largefile.txt. Veuillez choisir un fichier texte comportant plusieurs lignes et d'une taille assez grande pour ce tutoriel. Si vous ne l'avez pas, vous pouvez utiliser un éditeur de texte Linux ou la commande cat pour coller un texte volumineux et l'enregistrer.

Diviser les gros fichiers en fonction du nombre de lignes

Vous pouvez utiliser la commande split pour diviser un fichier volumineux en fichiers plus petits en fonction d'un nombre spécifique de lignes par fichier. Voici la syntaxe :

split -l [number of lines] [input file] [output file prefix]

Par exemple, vous souhaiterez peut-être diviser un fichier de 210 lignes en fichiers de 50 lignes chacun ; vous obtiendriez cinq fichiers plus petits. Les quatre premiers fichiers comporteraient 50 lignes chacun et le cinquième fichier ne contiendrait que 10 lignes.

Pour diviser un fichier appelé « largefile.txt » en fichiers plus petits de 100 lignes chacun, exécutez cette commande :

split -l 100 largefile.txt smallfile

Répertoriez le contenu du répertoire à l'aide de la commande ls et vous verrez les fichiers divisés.

Diviser les gros fichiers en fonction de leur taille

Vous pouvez également utiliser la commande split pour diviser un fichier volumineux en fichiers plus petits en fonction d'une taille de fichier spécifique. Voici la syntaxe de base :

split -b [size in bytes] [input file] [output file prefix]

Divisez largefile.txt en fichiers plus petits de 300 octets chacun en exécutant cette commande :

split -b 300 largefile.txt smallfile

Voici le résultat :

Diviser un fichier volumineux en un nombre spécifique de fichiers

Vous pouvez également diviser un fichier en un nombre fixe de fichiers, quel que soit le nombre de fichiers et d'octets qu'ils contiennent. Pour ce faire, utilisez l'option -n. Voici la syntaxe :

split -n [number of files] [input file] [output file prefix]

Pour diviser un gros fichier en cinq parties, exécutez cette commande :

split -n 5 largefile.txt smallfile

Le résultat devrait ressembler à ceci :

Modifier la longueur du suffixe des fichiers fractionnés

Comme vous l'avez peut-être remarqué, la longueur par défaut des suffixes attachés au nom du fichier de sortie est de deux. Par exemple, smallfileaa, smallfileab, smallfileac, etc.

Pour modifier la longueur du suffixe, vous utilisez l'option -a. Voici la syntaxe pour modifier la longueur du suffixe :

split -a [length of suffix] [input file] [output file prefix]

Vous pouvez utiliser cette option de longueur de suffixe avec d’autres commandes de fractionnement. Pour diviser le fichier largefile.txt en 10 parties avec une longueur de suffixe de 4, exécutez cette commande :

split -a 4 -n 10 largefile.txt smallfile

Lorsque vous répertoriez le contenu du répertoire, le résultat devrait ressembler à ceci :

Fusionner plusieurs fichiers avec cat

La bonne nouvelle est que vous pouvez toujours fusionner les fichiers divisés pour produire le fichier original. Pour fusionner les fichiers fractionnés dans le fichier d'origine, utilisez la commande cat. Voici la syntaxe pour faire cela :

cat [split files] > [output file]

Lorsque vous utilisez la commande cat pour fusionner des fichiers fractionnés, il est important de spécifier l'ordre correct des fichiers fractionnés.

La commande cat concatène simplement les fichiers dans l'ordre spécifié, donc si les fichiers ne sont pas dans le bon ordre, le fichier fusionné sera corrompu.

Dans un scénario où vous disposez de nombreux fichiers fractionnés, par exemple une centaine de fichiers fractionnés, il serait fastidieux de saisir chaque fichier l'un après l'autre et dans le bon ordre.

C'est là qu'intervient le préfixe. Le simple ajout d'un astérisque (*) vous permet de fusionner tous les fichiers commençant par ce préfixe.

cat prefix* > [output file]

Voici un exemple de commande qui fusionne les fichiers fractionnés smallfileaa, smallfileab, smallfileac et smallfilead en un seul fichier appelé bigfile.txt :

cat smallfile* > bigfile.txt

Cette commande concatènera le contenu de tous les fichiers fractionnés qui correspondent au modèle smallfile* et redirigera la sortie vers un nouveau fichier appelé bigfile.txt. Il répertoriera également les fichiers fractionnés dans l'ordre naturel en fonction de leur nom, qui devrait être l'ordre correct pour la fusion.

Utilisez les outils Linux pour augmenter votre efficacité

La commande split n'est que l'un des nombreux outils fournis par Linux pour vous aider à gérer efficacement des fichiers volumineux en les divisant en morceaux plus petits et plus faciles à gérer.

En maîtrisant les commandes de traitement de texte Linux, vous pouvez économiser du temps et des ressources et devenir plus efficace.

Articles connexes: