====== 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.