Commande cut

La commande cut permet de filtrer (supprimer) une partie de chacune des lignes d’un fichier.

Utilisations de cut

La commande cut attend en paramètre un ou plusieurs fichiers; si plusieurs fichiers sont fournis alors ces derniers seront concaténés.

Si aucun fichier n’est fourni, cut utilisera l’entrée standard comme ci-dessous (cut prend le premier caractère de chaque ligne saisi) :

Afficher le premier caractère de chaque ligne avec cut

Ci-dessous, nous utilisons la commande cut avec l’option -c  pour afficher uniquement le premier caractère de chaque ligne d’un fichier texte.

Afficher certaines colonnes de caractères 

Dans l’exemple ci-dessous, nous utilisons l’option -c et la liste de caractères 2-5 pour demander à la commande cut d’afficher uniquement les caractères 2 à 5 de chacune des lignes du fichier.

Ne conserver que les n premier caractères 

Dans l’exemple ci-dessous, nous ne gardons que les 3 premiers caractères du fichier :

Afficher uniquement les n derniers caractères 

Dans l’exemple ci-dessous, nous utilisons la commande cut pour ne garder que les 3 derniers caractères :

Afficher que le premier champ délimité d’un fichier 

Ci-dessous, nous avons un fichier texte nommé « marques.txt » contenant un liste d’information concernant des véhicules. Ces informations sont séparées par un délimiteur, le caractère virgule « , ». Nous uitlisons la commande cut suivi de l’option -d pour spécifier le délimiteur utilisé, puis l’option -f suivi du numéro de champ.

Afficher les n premiers champ d’un fichier 

Ci-dessous nous utilisons la commande cut pour afficher que les 2 premiers champs d’un fichier ayant comme délimiteur le caractère « , ».

Afficher certains champs avec cut

Dans l’exemple ci-dessous, nous utilisons la commande cut pour afficher certains champs (ici les champs 1 et 3) d’un fichier ayant la virgule comme délimiteur.

Tout afficher sauf certains champs

Il est possible de demander à cut de tout selectionner sauf certains champs. Dans l’exemple ci-dessous, nous affichons tous les champs sauf le champ numéro 2.

Sélectionner certains champs et modifier le délimiteur

Il est possible avec l’option --output-delimiter de modifier le délimiteur qui s’affichera sur la sortie de la commande cut.

Dans l’exemple ci-dessous, cut de sélectionne les deux premiers champs du fichier utilisant le délimiteur virgule et le remplace par un pipe « | » :