Linux : Les commandes du terminal

Découvrir le remplacement par globbing dans bash

Testez gratuitement nos 1251 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Vous allez définir ce qu'est le globbing. Il s'agit du remplacement par le shell bash, de critères génériques en une suite de fichiers et de répertoires.
04:52

Transcription

Je vous ai montré plusieurs fois, les chose comme ceci. L'utilisation de l'étoile dans une commande, ou plutôt là où je voulais exprimer quelque chose comme un chemin ou le nom d'un fichier. En fait, le bash utilise un système de pattern matching, c'est à dire, de remplacement de caractère joker, un peu à l'image de ce qu'on a dans windows, dans le MS DOS ou quelque chose qu'on peut trouver aussi dans les expressions rationnelles. C'est à dire qu'il y a certains caractères qui signifient quelque chose de spécial et qui sont remplacés. Le bash, en fait, remplace en plus, là où on attend des fichiers, ces caractères joker en faisant une recherche et en faisant une expension, ce qu'on appelle du globbing. En d'autres termes, le bash va, ici, chercher tous les fichiers, tous les répertoires, et puis il va le renvoyer au ls en disant, bon voilà, fais un ls de ceci, fais un ls de cela. je vous montre le résultat. Vous voyez que j'ai un ls du contenu de différents répertoires parce que finalement bash a récupéré tous les noms de fichiers, tous les noms de répertoire, et les a envoyés les uns après les autres au ls, qui a fait un ls de ceci, avec son contenu, un ls de ceci, un ls de ceci, etc. Donc vous avez cette fonctionnalité de globbing, de remplacement qui va vous permettre d'envoyer à des commandes qui attendent un fichier ou une liste de fichiers, eh bien, une liste que vous allez faire créer dynamiquement, ou générer dynamiquement par le bash. Les caractères qui sont à votre disposition, c'est bien entendu, donc, l'étoile, qui remplace 0 ou plusieurs caractères, en fait, n'importe quoi, que ce soit vide, ou quelque chose. Ceci, qui donc, signifie un caractère, si par exemple, je fais ceci, je vais faire un ls de tout ce que je trouve comme étant des fichiers ou des répertoires qui n'ont que 3 lettres, ou chiffres. Vous voyez, ufw, vim, w3m, etc. Je peux aussi demander, alors je vais le faire comme ça parce que je vois qu'il y a du x, demander un caractère en particulier, en l'échappant au début avec une barre oblique inversée, un back slash. Ici, ce que je veux, et vous voyez, c'est ici w3m, tous les fichiers ou répertoires qui commencent par un w et qui ont 2 lettres qui suivent, donc, c'est ça. Et ce que vient de me faire mon ls, c'est un ls du contenu de w3m. Il me l'a simplement pas affiché ici le w3m. Donc, je peux faire ici, le contenu de vim. Je peux commencer par s, j'aurai 2 exemples. Voilà, j'ai ssh et ssl. Donc, vous pouvez spécifier un caractère et, en fait, vous vous dîtes, Tiens, j'aurais pu faire ça simplement. C'est vrai, j'aurais pu faire ça. Mais cette syntaxe me permet de vous montrer le fait qu'on peut exprimer un caractère et si j'échappe ce caractère, eh bien c'est toujours ce caractère qui sera pris en compte. Je m'explique, ça n'a d'intérêt que sur ceci. Par exemple, Alors qu'est-ce que ça veut dire? Je veux tous les fichiers ou répertoires qui commencent par un point d'interrogation et qui ont ensuite deux lettres, ou chiffres. Il n'y en a pas. Alors quand il n'y en a pas, il me dit : impossible d'accéder à quelque chose, parce que le globbing n'ayant pas marché, il envoie simplement ça à ls et ls lui dit : Bon, non il n'y a pas quoi. Donc, vous pouvez exprimer une suite de caractères avec l'étoile, un caractère avec le point d'interrogation Et enfin, plusieurs caractères, je peux prendre w et s ici, et donc, ayant mis des crochets, ça devient une expression entre crochets qui est un groupe et je vais prendre soit w, soit s, et vous voyez que j'ai ici, ssh, ssl, et w3m. Il y a 2 ou 3 autres spécificités, donc, je vous encourage à regarder l'aide sur bash, mais, une dernière chose, parce que vous vous posez peut-être la question, si vous avez l'habitude des expressions rationnelles, est-ce que ceci fonctionne? Oui ceci fonctionne également. Qu'est-ce que ça veut dire, le signe circonflexe ici, signifie une négation. Donc, ça veut dire que je veux tous les fichiers ou répertoires qui ont finalement 3 lettres ou chiffres, puisque j'ai ici quelque chose + ?? Mais la première lettre, ou chiffre ne doit pas être un w ou un s. Et donc, je vais avoir x, x, v, u, p, o, l, ce n'est ni un w ni un s.

Linux : Les commandes du terminal

Découvrez l’utilisation de nombreuses commandes et options qui vous faciliteront la vie lors de l’administration de Linux. Franchissez ainsi une étape dans votre expertise.

1h59 (25 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Votre/vos formateur(s) :
Date de parution :29 févr. 2016
Durée :1h59 (25 vidéos)

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !