TUTO – Comment utiliser la commande cut sous linux

La commande cut est un outil puissant et polyvalent disponible sur les systèmes d’exploitation Linux. Elle permet d’extraire et de manipuler des données de fichiers texte en sélectionnant des portions spécifiques de chaque ligne. Dans cet article, nous allons explorer en détail comment utiliser la commande cut, sa syntaxe, ses options, ainsi que des exemples pratiques et des astuces avancées pour maîtriser cet outil indispensable pour tout utilisateur de Linux.

Qu’est-ce que la commande cut?

La commande cut est utilisée sous Linux pour couper et extraire des sections de chaque ligne de texte dans un fichier. Elle est particulièrement utile pour extraire des colonnes spécifiques d’un fichier CSV ou d’autres formats de fichiers délimités. La commande cut peut également être utilisée pour couper des données en fonction de la position des caractères, ce qui la rend extrêmement flexible pour divers cas d’utilisation.

La commande cut fonctionne en spécifiant un délimiteur, qui est le caractère utilisé pour séparer les champs dans une ligne de texte. Par défaut, le délimiteur est le caractère tabulation, mais il peut être changé en n’importe quel autre caractère en utilisant l’option -d. Une fois le délimiteur spécifié, vous pouvez ensuite utiliser l’option -f pour sélectionner les champs que vous souhaitez extraire. Cut est donc très utile pour travailler avec des fichiers structurés de manière tabulaire.

Outre la sélection par champ, cut peut aussi extraire des portions de texte en se basant sur la position des caractères avec l’option -c. Cela permet d’extraire des sous-chaînes de texte d’une longueur donnée, quelle que soit la structure des données. Que vous travailliez avec des fichiers CSV, des logs système ou tout autre type de fichier texte, la commande cut est un outil de base pour la manipulation de données sous Linux.

Syntaxe et options de cut

La syntaxe de base de la commande cut est la suivante : cut OPTION... [FILE].... Lorsque vous utilisez cut, vous devez spécifier au moins une option pour indiquer comment les données doivent être coupées. Les options les plus courantes sont -b, -c, -d et -f.

  • -b est utilisée pour couper par octet
  • -c par caractère
  • -d pour spécifier un délimiteur
  • -f pour sélectionner les champs.

Il est important de noter que ces options ne peuvent pas être utilisées simultanément. Vous devez choisir entre couper par champ ou par position de caractère.

D’autres options intéressantes incluent -s, qui ne coupera que les lignes contenant le délimiteur et --complement qui permet d’extraire tout le texte sauf les caractères ou champs spécifiés. De plus, l’option --output-delimiter peut être utilisée pour spécifier un délimiteur de sortie différent du délimiteur d’entrée, ce qui est utile lorsque vous travaillez avec des fichiers dont le format doit être modifié.

Il est également possible d’utiliser cut sans spécifier un fichier, auquel cas la commande lira les données de l’entrée standard. Cela signifie que vous pouvez pipe des données d’une autre commande directement dans cut pour les traiter, ce qui est un aspect très puissant de l’utilisation de cut dans les scripts shell et les opérations en ligne de commande.

Exemples d’utilisation de cut

1. Extraction de Colonnes d’un Fichier CSV :

La commande suivante extrait la deuxième et la quatrième colonne d’un fichier CSV, utilisant ‘,’ comme délimiteur.

cut -d',' -f2,4 data.csv

2. Extraction des Premiers Caractères d’un Fichier Texte :

Ce code extrait les cinq premiers caractères de chaque ligne du fichier texte.

cut -c1-5 file.txt

3. Extraction de Plages de Caractères d’un Fichier Texte :

Utilisez cette commande pour extraire les caractères de la huitième à la quinzième position de chaque ligne du fichier.

cut -c8-15 file.txt

4. Extraction de Texte en Utilisant un Délimiteur Spécifique :

Ce code récupère le troisième et le quatrième octet d’une adresse IP en utilisant ‘.’ comme délimiteur.

echo "192.168.1.1" | cut -d'.' -f3,4

5. Extraction de Contenu en Ignorant les Premiers Caractères :

Ignorant les trois premiers caractères de chaque ligne, cette commande extrait le reste du contenu du fichier texte.

cut -c4- file.txt

6. Extraction des Derniers Caractères d’un Fichier Texte :

Ce code extrait les six derniers caractères de chaque ligne du fichier texte.

rev file.txt | cut -c1-6 | rev

7. Extraction de Texte en Utilisant un Délimiteur de Tabulation :

Utilisez cette commande pour extraire le deuxième et le quatrième champ d’un fichier tabulé.

cut -f2,4 data.tsv

8. Extraction de Texte en Utilisant des Espaces comme Délimiteur :

Cette commande extrait la troisième à la sixième colonne du fichier texte en utilisant l’espace comme séparateur.

cut -d' ' -f3-6 file.txt

Astuces avancées avec cut

Pour les utilisateurs avancés, cut offre des possibilités encore plus étendues lorsqu’il est combiné avec des expressions régulières et des commandes comme grep. Par exemple, vous pouvez utiliser grep pour filtrer les lignes contenant un certain motif, puis utiliser cut pour extraire les champs pertinents. Cela permet de créer des commandes très spécifiques pour extraire précisément les informations que vous recherchez.

Finalement, n’oubliez pas que cut est un outil de manipulation de texte, et en tant que tel, il est sensible à la configuration de votre environnement, telle que la variable d’environnement IFS (Internal Field Separator). Comprendre comment cut interagit avec votre environnement peut vous aider à éviter des surprises et à maximiser son efficacité.

Conclusion

La commande cut est un outil précieux pour tout utilisateur de Linux souhaitant manipuler et analyser des fichiers texte. Que vous soyez un débutant apprenant les bases ou un utilisateur expérimenté à la recherche d’astuces avancées, cut offre une gamme d’options qui peuvent être adaptées à une multitude de situations. En maîtrisant la commande cut, vous aurez à votre disposition un outil puissant pour travailler avec des données de manière efficace et flexible.

Articles similaires

  1. Je trouve que cet article est vraiment utile ! J’ai toujours eu du mal avec la manipulation de fichiers texte sous Linux, mais les exemples donnés ici sont très clairs et faciles à suivre. Merci pour ces astuces, je vais essaier de jouer avec la commande cut ce week-end.

Les commentaires sont fermés.

Articles populaires