La commande Linux `cut` est l’une des commandes utiles pour travailler avec des données de chaîne et du contenu de fichier. Il est principalement utilisé pour couper le contenu des données tabulaires ou du fichier CSV. Chaque ligne du fichier peut être découpée et les données requises peuvent être récupérées facilement en utilisant la commande «cut». Il peut également être utilisé pour couper du texte par délimiteur, caractère ou position d’octet. Cette commande dispose de nombreuses options pour couper les données du texte ou du fichier de différentes manières. La façon dont la commande cut peut être utilisée avec différentes options est illustrée dans ce didacticiel à l’aide de divers exemples.
Syntaxe:
La valeur OPTION est obligatoire pour la commande `cut` et le nom du FICHIER est facultatif. Si vous omettez le nom de fichier dans la commande, les données seront extraites de l’entrée standard. Mais si vous omettez la valeur OPTION dans la commande cut, l’erreur sera générée.
Options:
Balise d’option | Description |
-b ou –byte = LIST | Sélectionnez les octets particuliers. |
-c ou –character = LIST | Sélectionnez les caractères particuliers. |
-d ou –delimiter = DELIM | Sélectionnez la valeur DELIM comme délimiteur. Par défaut, le séparateur est TAB. |
-f ou –fields = LIST | Sélectionnez les champs particuliers |
–complement | À utiliser pour compléter la sortie |
-s ou –seulement délimité | Omettre le lignes qui ne contiennent pas de délimiteur. |
–output-delimiter = STRING | Utilisez la valeur STRING comme délimiteur de sortie. |
-z ou – terminé par un zéro | Utilisez NULL comme délimiteur de ligne. |
Exemple-1 : Couper par octets
La commande de coupe suivante découpera les données d’entrée standard en fonction des octets définis. Ici, 3,4,5 et 6 sont définis comme des octets. La sortie sera générée en fonction de l’entrée standard. Appuyez sur CTRL + D pour quitter la commande.
Sortie:
Ici, l’entrée est « J’aime la programmation » et la sortie est « comme » basée sur les octets mentionnés.
Créez un fichier texte nommé « productlist.txt » avec le contenu suivant pour appliquer la commande `cut`. Utilisez TAB pour séparer les champs du contenu du fichier.
01 Stylo 2 $
02 Crayon 1,5 $
03 Gomme 1 $
Exécutez la commande suivante pour récupérer uniquement le ID du produit. Ici, les octets sont donnés sous forme de plage, ‘1-2’ pour couper les données.
Résultat:
Exemple-2: Couper par caractères
Vous pouvez générer la même sortie en utilisant l’option -c, celles-ci sont montrées dans les exemples précédents. Il n’y a donc pas de différence particulière entre la sortie de -b et – c options de la commande cut. Exécutez la commande suivante pour afficher l’utilisation de l’option -c. Ici, 4- est utilisé comme valeur d’option qui coupera de la position 4 à tous les caractères restants de chaque ligne. Vous pouvez également utiliser le signe négatif devant la valeur comme -4, puis il coupera du début à 4 positions.
Sortie:
Les trois premiers caractères sont omis dans la sortie.
Exemple-3: Couper par délimiteur et champs
Créez un fichier CSV nommé «étudiants.csv» avec le contenu suivant pour montrer l’utilisation du délimiteur.
1002, Micheal, EEE, 3.99
1003, Asraful Haque, BBA, 3.85
1004, Momotaj Khan, anglais, 3.20
Exécutez la commande suivante pour imprimer le nom de l’étudiant et CGPA à partir du fichier étudiants.csv. Selon le contenu du fichier, les 2e et 4e champs contiennent le nom de l’étudiant et l’AMPC. Ainsi, deux options sont utilisées dans cette commande pour afficher la sortie. L’un est le délimiteur, -d, qui est ‘,’ ici et l’autre est l’option de champ, -f.
Résultat:
Si vous voulez imprimez deux ou plusieurs colonnes séquentielles de toute donnée tabulaire ou fichier CSV, vous pouvez alors définir les champs comme une plage. La plage de valeurs de champ est utilisée dans la commande suivante. Ici, tous les champs de 2 à 4 seront imprimés en sortie.
Résultat:
Exemple-4: Couper par complément
L’option -complement est utilisée pour générer la sortie opposée de la commande . Dans la commande suivante, le fichier productlist.txt est utilisé, créé dans le premier exemple. Ici, l’option -f coupera le premier champ et l’option –-complement imprimera tous les autres champs du fichier en omettant le premier champ.
$ cut –complement -f 1 productlist.txt
Résultat:
Exemple-5: Couper par le délimiteur de sortie
Cette option est utilisée pour générer une sortie en utilisant un délimiteur particulier. Le fichier Students.csv créé précédemment est utilisé dans la commande suivante. «,» Est le délimiteur par défaut de tout fichier CSV. La commande suivante utilise ‘:’ comme valeur de délimitation de sortie.
$ cut -d « , » -f 1- 3 student.csv –output-delimiter = « : »
Sortie:
Après l’exécution de la commande, le délimiteur d’entrée ‘,’ sera remplacé par le délimiteur de sortie ‘:’ et les trois premiers champs seront imprimés en séparant ‘:’.
Exemple-6: Utilisation de cut with commande pipe
La commande Cut peut prendre une entrée depuis n’importe quel fichier ou depuis l’entrée utilisateur. Mais le texte d’entrée peut être envoyé à la commande de coupe en utilisant le tube. La commande suivante montre l’utilisation de la commande de coupe avec le tuyau. Ici, la commande echo fera entrer le texte d’entrée pour couper et la commande couper coupera les champs 2 et 3 en fonction du délimiteur.
Résultat:
Exemple -7: Enregistrer la sortie de la commande de coupe dans un fichier
Si vous le souhaitez, vous pouvez également enregistrer la sortie de la commande de coupe dans n’importe quel fichier texte. La commande suivante prendra le contenu du fichier Students.csv comme entrée, coupera le 2ème champ en fonction du délimiteur et imprimera la sortie dans un fichier texte nommé ‘student_names.txt’.
Sortie:
Conclusion:
Les utilisations les plus courantes de la commande cut sont tentées d’expliquer dans ce tutoriel en utilisant ce qui précède exemples. J’espère que les utilisations de la commande cut seront effacées des lecteurs après avoir exercé les exemples ci-dessus.