[portail::entete "Manuel Tcl/Tk" "M.SALVAGNIAC"]
[Doc_Dynamic]
glob Commandes Internes Tcl
NOM
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 auquels 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 []
PROBLEMES DE PORTABILITE
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 del'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 ":" .
Dernière révision: 8.3
[portail::pied]