La commande cut
sous Linux est un outil simple permettant d’extraire des sections de texte à partir de fichiers ou de flux d’entrée. Très pratique dans le traitement de fichiers textes, elle est souvent utilisée pour manipuler des données tabulaires ou des colonnes dans un fichier CSV. Dans cet article, nous allons voir la commande cut
, avec des exemples concrets, pour que vous puissiez maîtriser son utilisation.

Contrairement à la commande cat
, qui affiche le contenu complet d’un fichier ou d’une entrée standard, cut
permet d’extraire uniquement certaines parties d’une ligne.
Exemple de la différence majeur, j’ai un fichier « test.txt » qui contient la chaine caracteres « abcdef » :
cat test.txt
#renvoie
abcdef
cut -c 2-4
#renvoie
bcd
Syntaxe de base
La syntaxe générale de la commande cut
est la suivante :
cut [OPTIONS] [FICHIER]
Les options permettent de spécifier comment découper les données, et le fichier est l’emplacement des données à traiter. Si aucun fichier n’est spécifié, cut
utilisera l’entrée standard (stdin).
Options principales de la commande cut sur Linux
1. -b : Extraire des octets
L’option -b
permet d’extraire des octets spécifiques. Cela peut être utile lorsque vous travaillez avec des fichiers binaires ou que vous souhaitez extraire des sections basées sur la taille des octets.
Exemple :
echo "abcdef" | cut -b 1-3
Résultat :
abc
Cet exemple extrait les trois premiers octets de la chaîne « abcdef ».
2. -c : Extraire des caractères
L’option -c
est idéale pour extraire des caractères spécifiques d’une ligne.
Exemple :
echo "abcdef" | cut -c 2-4
Résultat :
bcd
Cela extrait les caractères situés entre les positions 2 et 4 inclusivement.
3. -f : Extraire des champs
L’option -f
est souvent utilisée pour travailler avec des fichiers délimités, comme des fichiers CSV. Avec -f
, vous pouvez extraire des colonnes spécifiques, en fonction du délimiteur.
Exemple :
echo "nom,prénom,âge" | cut -d ',' -f 2
Résultat :
prénom
Ici, la commande extrait la deuxième colonne du fichier en se basant sur la virgule comme délimiteur.
4. -d : Spécifier le délimiteur
L’option -d
permet de spécifier quel caractère délimite les champs lorsque vous utilisez -f
. Par défaut, le délimiteur est une tabulation, mais il peut être modifié pour toute autre chose, comme des virgules, des points-virgules, ou même des espaces.
Exemple :
echo "apples|oranges|bananas" | cut -d '|' -f 3
Résultat :
bananas
L’option -d
est cruciale lorsqu’il s’agit de travailler avec des fichiers où les données ne sont pas séparées par des tabulations.
Utilisations avancées de la commande cut
Extraire plusieurs plages de données
Vous pouvez utiliser cut
pour extraire plusieurs plages de données en les séparant par une virgule.
Exemple :
echo "abcdefghij" | cut -c 1-3,7-9
Résultat :
abcghi
Ici, les caractères 1 à 3 et 7 à 9 sont extraits, ce qui permet une plus grande flexibilité lors de la manipulation des fichiers.
Extraire les données d’un fichier
Au lieu d’utiliser des chaînes en entrée, vous pouvez également traiter des fichiers entiers. Supposons que vous ayez un fichier nommé données.txt
contenant les informations suivantes :
nom,prénom,âge
Doe,John,25
Smith,Alice,30
Pour extraire les noms des personnes :
cut -d ',' -f 1 données.txt
Résultat :
nom
Doe
Smith
Ignorer certaines lignes avec cut
Vous pouvez combiner la commande cut
avec d’autres commandes comme grep
ou sed
pour ignorer certaines lignes ou les traiter avant l’extraction.
Exemple :
grep -v '^#' fichier.txt | cut -d ',' -f 2
Ce code extrait la deuxième colonne des lignes qui ne commencent pas par un #
, ce qui est utile pour traiter des fichiers de configuration.
Conclusion
La commande cut
sous Linux est un outil simple mais efficace pour extraire des sections de texte à partir de fichiers ou de flux. Que vous travailliez avec des fichiers CSV, des logs ou des fichiers de configuration, cut
vous permettra d’accélérer vos tâches de traitement de texte de manière significative.