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 (modèles N.D.T.).

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 []

PROBLÈMES DE PORTABILITÉ

Différemment des autres commandes Tcl qui acceptent aussi bien les noms réseau et natifs (voyez la page de manuel filename pour des détails sur comment les noms natifs et réseau sont spécifiés), la commande glob accepte seulement noms natifs.

Windows Pour les noms Windows UNC, les composants serveur et partage du chemin ne peuvent pas contenir de constructions?, *, ou [] Sous Windows NT, si pattern est de la forme "~username@domain" il se réfère au répertoire home de l'utilisateur dont l'information de compte réside sur le PDC NT spécifié Autrement, l'information de compte de l'utilisateur est obtenue de l 'ordinateur local Sous Windows 95 et 98, glob accepte les modèles comme ".../" et "..../" pour les répertoires successivement parents.

Macintosh En utilisant les options, -dir, -join ou -path, glob suppose que le séparateur de répertoire pour le modèle entier est le standard ":" En n'utilisant pas ces options, glob examine chaque argument modèle et utilise "/" à moins que le modèle contienne un ":" .


Catégorie Manuel Tcl/Tk