En tant qu’utilisateurs de Linux, nous interagissons régulièrement avec les fichiers texte. L’une des opérations courantes que nous effectuons sur ces fichiers est le filtrage de texte. Linux fournit de nombreux utilitaires de ligne de commande pour le filtrage de texte, tels que – grep, fgrep, sed, awk, et la liste continue.

Cependant, dans ce guide, nous aborderons un autre utilitaire de filtrage de texte appelé couper, qui est utilisé pour supprimer une section particulière de la ligne d’entrée. La commande cut effectue un filtrage en fonction de la position de l’octet, du caractère, du champ et du délimiteur.

Dans ce guide du débutant, nous découvrirons les commande de coupe avec des exemples dans la ligne de commande Linux. Après avoir suivi ce guide, les utilisateurs de la ligne de commande Linux pourront utiliser efficacement la commande cut dans leur vie quotidienne.

couper la syntaxe de la commande

La syntaxe de la commande de coupe est comme n’importe quelle autre commande Linux :

$ cut <OPTIONS>... [FILE-1] [FILE-2] ...

Dans la syntaxe ci-dessus, le crochet angulaire (<>) représente les arguments obligatoires alors que le crochet ([]) représente les paramètres facultatifs.

Publicité

Maintenant que nous connaissons la syntaxe de commande de coupe. Ensuite, créons un exemple de fichier à utiliser comme exemple :

$ cat file.txt
Exemple De Fichier Texte Linux
Exemple De Fichier Texte Linux

1. Imprimer le premier octet du fichier

Le couper La commande nous permet d’extraire le texte en fonction de la position de l’octet à l’aide de la commande -b option.

Utilisons la commande ci-dessous pour extraire le premier octet de chaque ligne du fichier :

$ cut -b 1 file.txt
Imprimer Le Premier Octet Du Fichier
Imprimer Le Premier Octet Du Fichier

Dans cet exemple, nous pouvons voir que le couper La commande affiche uniquement le premier caractère car tous les caractères ont une longueur d’un octet.

2. Imprimer plusieurs octets de fichier

Dans l’exemple précédent, nous avons vu comment sélectionner un seul octet du fichier. Cependant, la commande cut nous permet également de sélectionner plusieurs octets à l’aide de la virgule.

Utilisons la commande ci-dessous pour sélectionner les quatre premiers octets du fichier :

$ cut -b 1,2,3,4 file.txt
Imprimer Plusieurs Octets À Partir Du Fichier
Imprimer Plusieurs Octets À Partir Du Fichier

Dans cet exemple, nous avons sélectionné les octets consécutifs mais ce n’est pas obligatoire. Nous pouvons utiliser n’importe quelle position d’octet valide avec le couper commande.

3. Imprimer une plage d’octets de fichier

Dans l’exemple précédent, nous avons utilisé des virgules pour sélectionner des octets consécutifs. Cependant, cette approche n’est pas adaptée si l’on veut sélectionner un grand nombre d’octets consécutivement. Dans de tels cas, nous pouvons utiliser le trait d’union (-) pour spécifier la plage d’octets.

Pour comprendre cela, utilisons le 1-12 comme plage d’octets pour sélectionner les douze premiers octets de chaque ligne :

$ cut -b 1-12 file.txt

De la même manière, nous pouvons également sélectionner une plage d’octets à partir du milieu. Par exemple, la commande ci-dessous sélectionne les octets des numéros de colonne 17 à 30 :

$ cut -b 17-30 file.txt
Imprimer La Plage D'Octets Du Fichier
Imprimer La Plage D&Rsquo;Octets Du Fichier

4. Imprimer Spécifiez la position de l’octet de départ du fichier

Parfois, nous voulons extraire tout le texte d’une certaine position d’octet. Dans de tels cas, nous pouvons omettre la position de l’octet de fin.

Par exemple, nous pouvons utiliser la commande suivante pour imprimer tous les octets à partir de la position 17 :

$ cut -b 17- file.txt 
Imprimer Le Texte À Partir D'Une Certaine Position D'Octet
Imprimer Le Texte À Partir D&Rsquo;Une Certaine Position D&Rsquo;Octet

Dans la commande ci-dessus, 17 représente la position de l’octet de départ alors que le trait d’union (-) représente la fin de la ligne.

5. Imprimer Spécifiez la position de l’octet de fin du fichier

De la même manière, nous pouvons également spécifier uniquement la position de l’octet de fin. Par exemple, la commande ci-dessous imprime tous les octets depuis le début de la ligne jusqu’à la 12e colonne :

$ cut -b -12 file.txt
Imprimer Spécifier La Position De L'Octet De Fin Du Fichier
Imprimer Spécifier La Position De L&Rsquo;Octet De Fin Du Fichier

Dans la commande ci-dessus, le trait d’union (-) représente le début de la ligne tandis que 12 représente la position de l’octet de fin.

6. Couper le premier octet par position de caractère

Dans les dernières sections, nous avons vu comment effectuer une extraction de texte basée sur la position des octets. Voyons maintenant comment effectuer l’extraction de texte par position de caractère.

Pour y parvenir, nous pouvons utiliser le -c option pour couper le premier octet de la chaîne multi-octets suivante :

$ echo école | cut -b 1


Dans la sortie ci-dessus, nous pouvons voir que la commande cut affiche un point d’interrogation au lieu du caractère é. Cela se produit parce que nous essayons d’imprimer le premier octet du caractère multi-octets.

Maintenant, utilisons le -c possibilité de couper le même caractère multi-octets et d’observer le résultat :

$ echo école | cut -c 1

é

Dans la sortie ci-dessus, nous pouvons voir que maintenant la commande cut affiche la sortie attendue.

Il est important de noter que toutes les versions des commandes de coupe ne prennent pas en charge les caractères multi-octets. Par exemple, Ubuntu et ses dérivés ne prennent pas en charge les caractères multi-octets.

Pour comprendre cela, lançons la même commande sur le Menthe Linux qui est dérivé de Ubuntu:

Couper L'Octet Par Position De Caractère
Couper L&Rsquo;Octet Par Position De Caractère

Ici, nous pouvons voir que le couper La commande traite les caractères multi-octets et les caractères à un octet de la même manière. Par conséquent, il ne génère pas la sortie attendue.

7. Couper une chaîne par délimiteur sous Linux

Par défaut, le couper commande utilise un LANGUETTE caractère comme délimiteur. Cependant, nous pouvons remplacer ce comportement par défaut en utilisant le -d option.

Souvent, le -d l’option est utilisée en combinaison avec l’option -f option qui est utilisée pour sélectionner un champ particulier.

Pour comprendre cela, utilisons le caractère espace comme délimiteur et imprimons les deux premiers champs en utilisant le -f option:

$ cut -d " " -f 1,2 file.txt
Couper La Chaîne Par Délimiteur Dans Le Fichier
Couper La Chaîne Par Délimiteur Dans Le Fichier

Dans l’exemple ci-dessus, nous avons utilisé la virgule avec le -f possibilité de sélectionner plusieurs champs.

8. Imprimer tous les octets ou caractères sauf ceux sélectionnés

Parfois, nous voulons imprimer tous les caractères sauf quelques-uns. Dans de tels cas, nous pouvons utiliser le --complement option. Comme son nom l’indique, cette option imprime toutes les colonnes sauf celles spécifiées.

$ cut -c 1 --complement file.txt
Imprimer Les Champs Non Sélectionnés Dans Le Fichier
Imprimer Les Champs Non Sélectionnés Dans Le Fichier

Dans la sortie ci-dessus, nous pouvons voir que le --complement L’option imprime tous les caractères sauf le premier caractère.

Il est important de noter que, dans cet exemple, nous avons utilisé des virgules pour sélectionner plusieurs champs. Cependant, nous pouvons également utiliser les autres plages prises en charge. On peut se référer aux premiers exemples de ce tutoriel pour mieux comprendre les gammes.

Conclusion

Dans ce guide du débutant, nous avons abordé les exemples pratiques de la couper commande avec filtrage de texte basé sur la position de l’octet, la position du caractère et le délimiteur.

Connaissez-vous un autre meilleur exemple de la commande cut sous Linux ? Faites-nous part de vos opinions dans les commentaires ci-dessous.

5/5 - (22 votes)
Publicité
Article précédentYouTube avertit désormais les utilisateurs que les bloqueurs de publicités ne sont pas autorisés
Article suivantL’abonnement Snapchat+ compte désormais plus de 3 millions d’utilisateurs
Avatar
Violette Laurent est une blogueuse tech nantaise diplômée en communication de masse et douée pour l'écriture. Elle est la rédactrice en chef de fr.techtribune.net. Les sujets de prédilection de Violette sont la technologie et la cryptographie. Elle est également une grande fan d'Anime et de Manga.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici