cut : Retirer des sections de texte
Table des matières
La commande cut est une commande Linux utilisée pour extraire des sections de chaque ligne d'un fichier
Cette commande fait partie de coreutils qui est disponible dans toutes les distributions Linux.
La syntaxe de la commande est la suivante :
La commande cut lit l'entrée standard si aucun fichier n'est spécifié, elle s'utilisera donc souvent sous cette forme :
Nous allons voir l'utilisation par des exemples, ça sera plus parlant.
Le fichier /etc/passwd est séparé par le caractère deux-points et le premier champ est le nom d'utilisateur.
Pour cela, on va utiliser deux options de cut :
-d : Le délimiteur de champ (s'il n'est pas précisé, le délimiteur est la tabulation)
-f : La position du champ
On pourra aussi sélectionner plusieurs champs via les syntaxes suivantes :
Champs 1 et 5 :
Champs 1 à 4 :
Champs 6 à la fin de la ligne :
La commande cut lit aussi en entrée standard :
Une autre option qui peut être utile, mais souvent peu connue c'est l'option -c. Elle permet de sélectionner certains caractères.
Exemple ici pour les caractères de 1 à 9 :
Bien sûr, les syntaxes vues précédemment fonctionnent :
Caractères de 1 et 3 :
Caractères de 2 à la fin de ligne :
Caractères jusqu'au 15ème :
Introduction
La commande cut est une commande Linux utilisée pour extraire des sections de chaque ligne d'un fichier
Cette commande fait partie de coreutils qui est disponible dans toutes les distributions Linux.
La syntaxe de la commande est la suivante :
Code BASH :
cut [options] [fichier]
La commande cut lit l'entrée standard si aucun fichier n'est spécifié, elle s'utilisera donc souvent sous cette forme :
Code BASH :
commande | cut [options]
Utilisation par l'exemple
Nous allons voir l'utilisation par des exemples, ça sera plus parlant.
Le fichier /etc/passwd est séparé par le caractère deux-points et le premier champ est le nom d'utilisateur.
Pour cela, on va utiliser deux options de cut :
-d : Le délimiteur de champ (s'il n'est pas précisé, le délimiteur est la tabulation)
-f : La position du champ
Code BASH :
cut -d':' -f 1 /etc/passwd
On pourra aussi sélectionner plusieurs champs via les syntaxes suivantes :
Champs 1 et 5 :
Code BASH :
cut -d':' -f 1,5 /etc/passwd
Champs 1 à 4 :
Code BASH :
cut -d':' -f 1-4 /etc/passwd
Champs 6 à la fin de la ligne :
Code BASH :
cut -d':' -f 6- /etc/passwd
La commande cut lit aussi en entrée standard :
Code BASH :
echo "Bonjour à tous, ici Adrien" | cut -d',' -f 1
Une autre option qui peut être utile, mais souvent peu connue c'est l'option -c. Elle permet de sélectionner certains caractères.
Exemple ici pour les caractères de 1 à 9 :
Code BASH :
echo "Bonjour à tous, ici Adrien" | cut -c 1-9
Bien sûr, les syntaxes vues précédemment fonctionnent :
Caractères de 1 et 3 :
Code BASH :
echo "Bonjour à tous, ici Adrien" | cut -c 1,3
Caractères de 2 à la fin de ligne :
Code BASH :
echo "Bonjour à tous, ici Adrien" | cut -c 2-
Caractères jusqu'au 15ème :
Code BASH :
echo "Bonjour à tous, ici Adrien" | cut -c -15