Commande Linux · 4 min read · Sep 14, 2025
Commande Linux Csplit expliquée pour les débutants (6 exemples)

La commande Linux csplit est un utilitaire polyvalent utilisé pour diviser un fichier en plusieurs segments en fonction de lignes ou de motifs contextuels spécifiés. Contrairement à la commande split, qui divise les fichiers en fonction de leur taille, csplit permet aux utilisateurs de définir des points de division en utilisant des numéros de ligne, des expressions régulières, ou une combinaison des deux, ce qui le rend idéal pour traiter des fichiers texte avec une structure prévisible. La commande génère des fichiers de sortie nommés de manière séquentielle, avec un préfixe par défaut et des suffixes numériques, qui peuvent être personnalisés. Cette flexibilité est particulièrement utile pour des tâches telles que l’extraction de sections de fichiers journaux, la découpe de fichiers de configuration, ou la préparation de données textuelles pour un traitement par d’autres scripts ou applications.
Dans ce tutoriel, nous allons discuter des bases de cet outil et apprendre à l’utiliser. Mais avant cela, il convient de mentionner que toutes les commandes/instructions mentionnées ici ont été testées sur Ubuntu 24.04.
Commande Csplit Linux
Voici comment la page de manuel de la commande la définit :
csplit - diviser un fichier en sections déterminées par des lignes contextuellesVoici sa syntaxe générique :
csplit [OPTION]... FICHIER MOTIF...Les petits fichiers individuels créés par csplit ont des noms comme xx00 et xx01. La définition suivante - tirée de la page de manuel de la commande - devrait clarifier les choses :
Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ..., and output byte
counts of each piece to standard output.Les exemples suivants de type Q&R devraient vous donner une bonne idée de la façon dont fonctionne la commande csplit.
Q1. Comment diviser des fichiers en fonction du nombre de lignes ?
Supposons que votre fichier contienne six lignes, et que l’exigence soit de diviser ce fichier à la troisième ligne. Cela peut être fait en passant ‘3’ comme argument de ligne de commande après la commande et le nom du fichier.
Par exemple, dans notre cas, le fichier1 contenait les lignes suivantes :
1 Asie
2 Afrique
3 Europe
4 Amérique du Nord
5 Amérique du Sud
6 AustralieEt voici la commande que nous avons exécutée :
csplit file1 3Les nombres produits dans la sortie sont le nombre d’octets pour les fichiers que la commande a produits. Deux fichiers ont été produits dans la sortie, à savoir xx00 et xx01.
Le contenu de ces fichiers confirme que la division a eu lieu à la ligne numéro 3.
Q2. Comment diviser des fichiers en utilisant des expressions régulières ?
Vous pouvez également utiliser des expressions régulières avec la commande csplit. Par exemple, dans le cas précédent, si vous souhaitez que l’outil répète le motif une fois de plus, vous pouvez le faire en utilisant la commande suivante :
csplit file1 3 {1}Ainsi, dans ce cas, trois fichiers de sortie ont été produits :

Q3. Comment avoir un préfixe personnalisé au lieu du ‘xx’ par défaut ?
Par défaut, les fichiers que csplit produit en sortie ont ‘xx’ comme préfixe. Cependant, si vous le souhaitez, vous pouvez changer le préfixe en utilisant l’option de ligne de commande -f, qui nécessite le nouveau préfixe comme entrée.
Par exemple, la commande suivante produira des fichiers ayant ‘htf’ comme préfixe.
csplit file1 1 -f htfQ4. Comment forcer csplit à ne pas supprimer les fichiers de sortie en cas d’erreur ?
La commande csplit, par défaut, supprime les fichiers de sortie (tous, s’ils ont été créés) dès qu’une erreur est rencontrée. Par exemple, la capture d’écran suivante confirme qu’aucun fichier de sortie n’a finalement été produit :
Cependant, vous pouvez changer ce comportement en utilisant l’option - k dans la commande. Par exemple, la même commande a été exécutée à nouveau, mais avec cette option, et les fichiers de sortie n’ont pas été supprimés cette fois.
Q5. Comment supprimer les lignes qui correspondent au motif d’entrée ?
La commande csplit permet également de supprimer les lignes qui correspondent au motif d’entrée. L’option en question est –suppress-matched.
Par exemple, la commande suivante divise le fichier (file1) à la ligne 2 (xx00 contiendra la ligne 1, tandis que xx11 contiendra le reste des lignes).
csplit file1 2Mais si vous souhaitez supprimer la ligne 2, vous pouvez exécuter la commande suivante :
csplit --suppress-matched file1 2Q6. Comment utiliser un nombre de chiffres personnalisé au lieu des 2 par défaut ?
Tout comme le préfixe lui-même, le nombre de chiffres qui suivent le préfixe dans les noms de fichiers de sortie est également personnalisable. Supposons que vous souhaitiez avoir des noms comme xx000 et xx0001, vous pouvez le faire en utilisant l’option de ligne de commande -n, qui nécessite un nombre d’entrée signifiant le nouveau nombre de chiffres.
Par exemple :
csplit -n 1 file1 2La commande ci-dessus produirait des noms de fichiers comme xx0, xx1, etc.
Conclusion
Un utilisateur moyen de la ligne de commande Linux n’a peut-être pas besoin de diviser quotidiennement, mais c’est un utilitaire important que vous devriez au moins connaître. Nous avons couvert la plupart des exemples de base et des options de ligne de commande ici. Essayez-les, puis rendez-vous sur la page de manuel de l’outil pour en savoir plus.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.