Des lecteurs comme vous aident à soutenir MUO. Lorsque vous effectuez un achat en utilisant des liens sur notre site, nous pouvons gagner une commission d'affiliation. En savoir plus.

csplit est un utilitaire de ligne de commande Linux populaire utilisé pour diviser le contenu d'un fichier en deux. Le fichier que vous devez modifier doit être un fichier texte avec un ".SMS" extension.

La commande est facile à utiliser et fonctionne bien sur toutes les distributions Linux. Avec l'utilisation de différents drapeaux disponibles pour csplit, vous pouvez également modifier la sortie en fonction de vos besoins.

Voici comment utiliser csplit pour diviser un fichier sous Linux.

Qu'est-ce que csplit ?

Utilisé sur Linux et d'autres systèmes d'exploitation de type Unix, csplit peut diviser un fichier en fichiers individuels déterminés par des lignes de contexte.

La syntaxe de base de la commande est :

csplit[OPTION][MODÈLE]

csplit contre diviser

La plupart des utilisateurs de Linux aiment utiliser la commande split lorsqu'il s'agit de diviser un fichier en plusieurs fichiers plus petits. Le problème avec cette commande est qu'elle s'appuie sur la taille des octets ou la taille des lignes pour diviser les fichiers.

instagram viewer

Cela n'est pas possible dans les scénarios où vous souhaitez fractionner les fichiers en fonction de leur contenu plutôt que de leur taille. C'est alors que csplit vient à la rescousse en divisant le fichier en morceaux de taille fixe en fonction du contenu au lieu du nombre d'octets.

Comment installer csplit sous Linux

csplit est pré-installé sur presque toutes les distributions Linux. Cependant, si vous rencontrez une erreur "csplit: command not found", cela signifie que l'outil n'est pas installé sur votre système. Pour installer csplit sur Ubuntu, exécutez :

sudo apt-obtenir installer coreutils

Sur Arch Linux, exécutez :

sudo pacman -S coreutils

Pour installer csplit sur Fedora et RHEL :

sudo dnf installer coreutils

Comment utiliser csplit sous Linux

Pour voir comment fonctionne csplit, créez un fichier texte sur votre système. Utiliser la commande touch pour créer un fichier vide.

touchenom de fichier.SMS

Une fois le fichier créé, ouvrez-le avec l'éditeur nano pour modifier son contenu.

nanonom de fichier.SMS

Une fois que vous avez ajouté du contenu au fichier, appuyez sur Ctrl + X et puis Oui pour l'enregistrer et le fermer.

Pour vérifier le contenu du fichier à l'aide de la commande du chat, courir:

nom de fichier chat

Utilisez la commande csplit pour diviser un fichier

Pour comprendre comment fonctionne csplit, regardez d'abord le contenu du fichier utilisé ici comme exemple.

Le fichier contient neuf lignes des numéros 1 à 9. Si vous devez diviser le fichier en deux, comment indiquerez-vous à csplit quel contenu envoyer au premier fichier et lesquels à l'autre? C'est facile. Dans la commande, il vous suffit d'indiquer à csplit à partir de quelle ligne commencer la scission.

Cela se fait en spécifiant le numéro de ligne. Par exemple, si vous souhaitez diviser le fichier à partir de la troisième ligne avec le mot "Londres", vous mentionnerez 3 dans la commande. Entrez la commande comme ceci :

csplitnom de fichier.SMS 3

Cette commande divisera instantanément le fichier en deux. Utiliser la commande ls pour répertorier tout le contenu du répertoire pour voir les fichiers de sortie. Vous trouverez les nouveaux fichiers avec les noms xx00 et xx01 à côté du fichier d'origine.

Utilisez la commande cat pour vérifier le contenu des deux fichiers.

Comme vous pouvez le voir, csplit divise le fichier en deux parties à partir de la troisième ligne comme spécifié dans la commande.

Options de la commande csplit

Voici quelques-unes des options de ligne de commande csplit que vous pouvez utiliser :

1. Modifier le préfixe des fichiers de sortie

Également connu sous le nom de drapeau de préfixe, -F modifie le préfixe dans le nom du fichier. Vous avez peut-être remarqué que lorsque csplit divise le fichier, les nouveaux fichiers créés ont xx comme préfixe dans les noms de fichiers. Vous pouvez changer cela en utilisant le -F drapeau dans la commande.

Par exemple, si vous voulez que les noms de fichiers aient abc comme préfixe au lieu de xx, lancez la commande comme ceci :

csplit-Fabcnom de fichier.SMS 3

Comme visible, après la scission, les deux fichiers ont abc comme préfixe dans les noms.

2. Conserver les fichiers en cas d'erreurs

Le -k ou la --garder les fichiers L'option ne supprime pas les fichiers de sortie s'il y a une erreur dans la commande csplit.

Émettez la commande erronée suivante :

csplit -k randomfile.txt 2 {3}

3. Modifier le nombre de chiffres dans le nom de fichier

En utilisant cette option, vous pouvez indiquer à la commande csplit le nombre de chiffres que vous souhaitez voir dans le nom de fichier après le préfixe. On l'appelle aussi le drapeau des chiffres.

Exécutez la commande suivante pour ne conserver qu'un seul chiffre dans le nom de fichier :

csplit-n 1 fichier aléatoire.SMS 2

Sans le -n flag, par défaut, vous verrez deux chiffres dans le nom de fichier.

4. Fractionner le fichier sans afficher le nombre de tailles

Aussi connu sous le nom de drapeau silencieux, le -s flag divise silencieusement le fichier sans mentionner la taille des fichiers de sortie.

csplit-sfichier aléatoire.SMS 3

5. Afficher l'aide de la ligne de commande

Pour voir les détails de toutes les options disponibles pour csplit, utilisez le -h ou --aider drapeau dans la commande.

csplit --aider

6. Vérifiez le numéro de version de csplit

Pour voir quelle version de csplit vous utilisez, exécutez la commande avec le --version drapeau:

csplit --version

7. Omettre une ligne spécifique lors du fractionnement

Vous pouvez également utiliser le --supprimer-correspondance option de ligne de commande pour omettre une ligne particulière lors du fractionnement du fichier.

csplit--supprimer-correspondancenom de fichier.SMS 5

Lors de la création des deux fichiers, csplit ignorera la cinquième ligne et divisera le fichier à partir de la ligne suivante.

La cinquième ligne du fichier d'origine contient le mot "Berlin". Dans le fichier de sortie, "Berlin" a été omis.

Fractionner des fichiers sans effort avec une seule commande sous Linux

Il existe de nombreux utilitaires de ligne de commande disponibles pour gérer les fichiers sur un système Linux. L'un d'eux est csplit. Par défaut, il est disponible sur tous les systèmes Linux. Sinon, vous pouvez simplement l'installer via la ligne de commande.

csplit est un moyen simple et efficace de diviser un fichier lorsque vous devez diviser le fichier en fonction de son contenu. csplit est livré avec diverses options de ligne de commande qui vous offrent la possibilité d'adapter la sortie comme vous le souhaitez. Il existe plusieurs outils de ligne de commande pour afficher le contenu d'un fichier sous Linux si vous souhaitez vérifier les fichiers après le fractionnement.