Eggdrop & Tcl

Base de connaissances eggdrop et tcl

Outils pour utilisateurs

Outils du site


tcl:glob

glob

Retourne des noms de fichiers correspondant à des modèles

Syntaxe

glob ?switches? pattern ?pattern ...?

Description

Cette commande effectue le globbing d'un nom de chemin d'une façon semblable au shell csh. Elle retourne une liste de fichiers dont les noms correspondent à au moins un des arguments pattern.

Si les arguments initiaux de glob commencent avec un - alors ils sont traités comme des commutateurs. Les commutateurs suivants sont couramment supportés:

  • -directory directory : Recherche les fichiers qui correspondent au modèles donnés commençant dans le directory donné Ceci permet la recherche de répertoires dont le nom contient des caractères glob-sensitive sans le besoin de placer ces caractères entre guillemets. Cette option ne peut pas être utilisée en conjonction avec -path.
  • -join : Les arguments modèles restants sont traités comme un seul modèle obtenu en joignant les arguments avec des séparateurs de répertoire.
  • -nocomplain : Permet à une liste vide d'être renvoyée sans erreur; sans ce switch une erreur est générée si la liste résultat est vide.
  • -path pathPrefix : Recherche les fichiers avec le pathPrefix donné où le reste du nom correspond aux modèles donnés Ceci permet la recherche de fichiers avec des noms identiques à un fichier donné même quand les noms contient des caractères glob-sensitive Cette option ne peut pas être utilisée en conjonction avec -directory.
  • -types typeList : Liste seulement les fichiers ou répertoires qui correspondent à typeList, où les articles dans la liste ont deux formes La première forme est comme l'option -type de la commande Unix find: b (bloc spécial fichier), c (caractère spécial fichier), d (répertoire), f (plain fichier), l (lien symbolique), p (named pipe), ou s (socket), ou de multiple types peuvent être spécifiés dans la liste. Glob renverra tous les fichiers qui correspondent à au moins un des types donnés. La seconde forme spécifie les types auxquels tous les types donnés doivent correspondre. Ce sont r, w, x comme permissions de fichier, et readonly, hidden comme permission spéciales Sur Macintosh, MacOS types et creators sont aussi supportés, ou tout article de quatre caractères est supposé être un type MacOS (ex. TEXT) Les articles qui sont de la forme {macintosh type XXXX} ou {macintosh creator XXXX} correspondront aux types ou creators respectivement Les types non reconnus, ou les spécifications de types/creators MacOS multiples signaleront une erreur. Les deux formes peuvent être mélangées, ainsi -types {d f r w} trouvera tous les fichiers ordinaires OU les répertoires qui ont les permissions de lecture ET d'écriture. Les formes suivantes sont équivalentes: glob-type d * glob */ excepté que le premier cas ne retourne pas le “/“final et est plus indépendant de la plateforme.
  • Marque la fin des commutateurs L'argument suivant cela sera traité comme un pattern même s'il commence avec un -

Les arguments pattern peuvent contenir n'importe quel des caractères spéciaux suivants:

  • ? Correspond à n'importe quel caractère.
  • * Correspond à n'importe quelle séquence de zéro ou plus caractères.
  • [chars] Correspond à n'importe quel caractère de chars. Si chars contient une séquence de la forme a-b alors n'importe quel caractère entre a et b (inclus) correspondra.
  • \x Correspond au caractère x.
  • {a,b,…} Correspond à quelconque de la chaînes a, b, etc.

Comme avec csh, un . au début d'un nom de fichier ou juste après un / doit correspondre explicitement ou avec une construction {}. De plus, tout / caractères doit correspondre explicitement.

Si le premier caractère dans un pattern est ~ alors il se réfère au répertoire home de l'utilisateur dont le nom suit le ~. Si le ~ est suivi immédiatement par / alors la valeur de la variable d'environnement HOME est utilisé.

La commande glob diffère du globbing csh de deux façons. D'abord, elle ne trie pas la liste résultat (utilisez la commande lsort si vous voulez une liste triée). Deuxièmement, glob retourne seulement les noms des fichiers qui existent; avec csh aucune vérification d'existence n'est faite à moins qu'un modèle contienne une construction?, *, ou []

Exemples

Voir aussi

tcl/glob.txt · Dernière modification : 2023/10/11 14:14 de CrazyCat