Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:systeme:cut [11/06/2010 18:38] smolski |
doc:systeme:cut [19/04/2015 10:41] milou [cut] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== 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 : {{tag>à-tester}} | ||
+ | * 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]] : | ||
+ | <code user>less /etc/passwd</code> | ||
+ | <code> | ||
+ | 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 | ||
+ | .../... | ||
+ | </code> | ||
+ | |||
+ | ===== 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 : ==== | ||
+ | |||
+ | <code user>cut -c1 /etc/passwd</code> | ||
+ | |||
+ | Affichera la première colonne du fichier ''etc/passwd''. | ||
+ | |||
+ | <code user> | ||
+ | $ cut -c1 /etc/passwd | ||
+ | r | ||
+ | d | ||
+ | b | ||
+ | s | ||
+ | s | ||
+ | g | ||
+ | .../... | ||
+ | </code> | ||
+ | |||
+ | ===== 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. | ||
+ | |||
+ | <note tip> | ||
+ | __À 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 | | ||
+ | |||
+ | |||
+ | </note> | ||
+ | |||
+ | ====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 ('':'') : | ||
+ | <code user>cut -d: -f6 /etc/passwd</code> | ||
+ | <code> | ||
+ | /root | ||
+ | /usr/sbin | ||
+ | /bin | ||
+ | /dev | ||
+ | /bin | ||
+ | /usr/games | ||
+ | .../... | ||
+ | </code> | ||
+ | |||
+ | ====Option -d -f : afficher plusieurs champ ==== | ||
+ | |||
+ | 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 ('':'') : | ||
+ | |||
+ | <code user>cut -d':' -f 1,6 /etc/passwd</code> | ||
+ | <code> | ||
+ | root:/root | ||
+ | daemon:/usr/sbin | ||
+ | bin:/bin | ||
+ | sys:/dev | ||
+ | games:/usr/games | ||
+ | .../... | ||
+ | </code> | ||
+ | |||
+ | <note tip> | ||
+ | Si l'on inverse l'ordre des champs sélectionnés ''-f 6,1'', cut les affichera malgré tout dans l'ordre du fichier. | ||
+ | </note> | ||