Discussion:cut

Une définition du Jargon Français.
Aller à : Navigation, rechercher

Exemple

Cet exemple:

ps aux | grep "xterm" | cut -c10-14

Étant capable de travailler sur une ligne de texte directement, ici, cut sépare la process-ID de l'émulateur de terminal "xterm" de la liste des processus en cours d'exécution.

... présente deux problèmes:

Premièrement c'est relativement spécifique (d'autres "ps", par exemple dans le monde BSD, ne digèrent pas les arguments employés).

Deuxièmement l'algo n'est pas adéquat car grep se 'voit lui même'. Tester par exemple avec: ps aux | grep CeciNexistePas | cut -c10-14

Natmaka 17 février 2013 à 14:43 (CET)

Oui. En réalité, j'élimine le processus de grep avant d'utiliser la liste des IDs. Je réfléchis et fournis un autre exemple. Il en faut un quand-même. --Souris Libre 17 février 2013 à 22:03 (CET)
L'article en propose déjà un, pourquoi ne suffit-il pas? Natmaka 18 février 2013 à 09:23 (CET)
Excuse, je n'était pas attentif, récemment. C'est pour accentuer que cut peut travailler des lignes de caractères directement, et n'a pas besoin d'être fournis un fichier.--Souris Libre 20 février 2013 à 13:45 (CET)
Pas de souci. J'avais perçu ce besoin et ai modifié l'exemple. Natmaka 21 février 2013 à 09:52 (CET)
Est-ce que ça c'est mieux ?
setxkbmap -print | grep xkb_keycodes | cut -d\( -f2 | cut -d\) -f1
produit: qwertz--Souris Libre 17 février 2013 à 22:12 (CET)
Ce n'est testable que sur une machine sur laquelle les binaires "standard" d'un X Window raisonnablement récent (XKB) sont installés.
C'est compliqué, or un bon exemple est explicite avec aussi peu de recherches/manoeuvres/réflexion que possible. Il faut ici comprendre ce que produit setxkbmap ainsi que le rôle du caractère d'échappement (antislash). Tout cela n'est pas le propos d'une démonstration de ce que "cut" fait.
L'approche est discutable car "setxkbmap -print" produit un résultat établi pour permettre son analyse syntaxique, donc y extraire des informations à coups de 'grep' est dangereux car une modification de la syntaxe pourrait "casser" (sens 2). C'est ce qu'exprime 'Some people, when confronted with a problem, think “I know, I'll use regular expressions.” Now they have two problems.' Natmaka 18 février 2013 à 09:23 (CET)