====== cut ======
* Objet : cut
* Niveau requis : {{tag>débutant avisé}}
* Commentaires : //Recherche par sélection de sections spécifiques dans un fichier. //
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-)
* Suivi :
* Création par [[user>smolski]] le 11-06-2010
* Testé par [[user>smolski]] le 11-06-2010
* Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=2669 | Lien vers le forum concernant ce tuto]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
===== Introduction =====
La commande ''cut'' permet la recherche par sélection de sections spécifiques dans un fichier.
Pour les exemples, nous utiliserons le fichier /etc/passwd. \\
Affichage sans sélection avec [[:doc:editeurs:less | la commande less]] :
less /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
.../...
===== Option -c =====
Afficher uniquement les caractères aux positions indiquées dans la //liste de caractères//.
^ Option ^ Signification ^
|-c1-5 |Permet de sélectionner les colonnes 1 à 5. |
|-c14- |Permet de sélectionner de la colonne 14 à la dernière. |
|-c10-14|Permet de sélectionner de la colonne 10 à la colonne 14|
|-c1-3,14-18 |Permet de spécifier plusieurs plages de colonnes. |
==== Exemple option -c : ====
cut -c1 /etc/passwd
Affichera la première colonne du fichier ''etc/passwd''.
cut -c1 /etc/passwd
r
d
b
s
s
g
.../...
===== Options -d et -f =====
* option -d : Spécifier un séparateur de champs.
* option -f : N'afficher que les champs indiqués dans la liste sélectionnée.
__À savoir.__\\
Par défaut, le délimiteur est l'espace ou la tabulation.\\
* Si dans le fichier à traiter le séparateur n'est pas la tabulation, il faut indiquer le séparateur avec l'option ''-d''.\\
* Les options ''-d'' et ''-f'' s'utilisent toujours en complément l'une de l'autre.\\
-Si on utilise l'option -d seule, un message d'erreur apparaît,\\
-Si on utilise l'option -f seule, la totalité du ficher s'affiche sans extraire de champ, ce qui n'a aucun intérêt.
* Il est possible de sélectionner plusieurs champs.
^ ^ ^
|cut -d'délimiteur' -f 1 | délimiteur et champ délimité n°1 |
|cut -d'délimiteur' f 2,6,...| délimiteur et champs délimités n°2 et n°6 |
====Option -d -f : afficher un champ ====
Dans le fichier /etc/passwd, afficher le //sixième// champ par ligne, dont le séparateur de champs est le caractère double point ('':'') :
cut -d: -f6 /etc/passwd
/root
/usr/sbin
/bin
/dev
/bin
/usr/games
.../...
====Option -d -f : afficher plusieurs champs ====
Dans le fichier :etc/passwd, afficher le premier et le sixième champs par ligne, avec comme séparateur de champ le caractère double point ('':'') :
cut -d':' -f 1,6 /etc/passwd
root:/root
daemon:/usr/sbin
bin:/bin
sys:/dev
games:/usr/games
.../...
Si l'on inverse l'ordre des champs sélectionnés ''-f 6,1'', cut les affichera malgré tout dans l'ordre du fichier.