Testeur de motif glob de shell
Guide
Testeur de motif glob de shell
Testez des modèles glob contre une liste de chemins de fichiers et voyez exactement lesquels correspondent — en temps réel, avec des sémantiques pour Bash, Zsh, .gitignore, Python et Go fnmatch, et Go path.Match. Saisissez un modèle comme src/**/*.{js,ts}, collez des chemins, et observez les correspondances qui s'illuminent en vert et les non-correspondances qui s'effacent progressivement au fur et à mesure que vous tapez.
Comment utiliser
- Saisissez un modèle glob dans le Modèle glob champ (par exemple
**/*.log). - Choisissez un Mode shell / Mode — le même modèle peut correspondre à des ensembles différents de chemins selon que vous êtes en Bash, .gitignore, Python
fnmatch, ou Go. - Collez votre chemins de fichiers un par ligne — ou cliquez sur un exemple intégré.
- Les correspondances s'illuminent en vert avec un icône de contrôle ; les non-correspondances restent gris. Le résumé affiche le nombre et une note sur le mode choisi.
- Préfixez votre modèle avec
!pour inverser la correspondance (mettez en évidence tout ce qui ne correspond pas). pas Les cinq modes de shell
Caractéristiques
- – Bash (avec globstar), Zsh extended_glob, .gitignore, Python , chacun avec les sémantiques correctes pour
fnmatch, et Gopath.Match, et l'expansion des accolades.*,**,?Surlignage en temps réel - – Les chemins sont réévalués à chaque saisie du modèle ; pas de bouton d'envoi. Expansion des accolades
- alternatives dans les modes Bash et Zsh, y compris les nestings et les produits croisés comme –
{a,b,c}Classes de caractèressrc/{js,ts}/**/*.{spec,test}.ts. - classes négatives, et les intervalles comme –
[abc],[!abc]Négation[A-Z]. - – Précédez tout modèle avec pour inverser la correspondance.
!Notes sur le mode - – Une courte explication apparaît sous chaque résultat, expliquant comment le mode choisi interprète le modèle. Exemples rapides
- – Chargez un layout de projet web, un filtre de journal en style .gitignore ou un exemple de docs/Readme pour apprendre par inspection. – Les modèles et les chemins ne quittent jamais votre navigateur ; fonctionne en mode hors ligne une fois chargé.
- Côté client uniquement Déboguer les règles .gitignore
Cas d'utilisation courants
- – Collez une liste de chemins depuis et voyez lesquels seraient ignorés par une règle candidate.
git statusÉcrire des arguments de glob de construction - – Vérifiez que le modèle fourni à correspond aux fichiers que vous attendez et à rien d'autre.
tsc,esbuild, ouprettier --writeRédiger des filtres de chemins pour CI - – Confirmez qu'un filtre dans GitHub Actions ou GitLab CI cible le bon sous-ensemble de fichiers avant le push.
paths:Traduire des scripts shell - – Vérifiez que le modèle fonctionne encore après avoir porté le code d'un script Bash vers un service Python ou Go. Enseigner les sémantiques glob
- – Montrez aux étudiants pourquoi ne traverse pas les limites de répertoire dans Bash mais le fait dans
*Quelle est la différence entre * et ** dans un modèle glob ?fnmatch.
FAQ
-
Un seul
correspond à tout caractère dans un segment de chemin, mais ne traverse pas le séparateur de répertoire (
*). Le double/(appelé globstar) correspond à un nombre quelconque de caractères à travers un nombre quelconque de segments de répertoire. Ainsi,**correspond à la fois àsrc/*.jscorrespond (If you meant a different context like "to match" in a broader sense, it remains **coïncider**—but strictly literal: *matches* → *correspond*.)src/index.jsmais passrc/utils/index.jsetsrc/**/*.jscorrespond à tous les deux. Pas tout glob dialecte prend en charge**— Pythonfnmatchet Gopath.Matchtraitent les deux étoiles comme deux tokens distincts.*Comment la correspondance glob diffère-t-elle d'une expression régulière ? -
Les glob sont une langue de modèles plus petite, conçue pour correspondre aux chemins de fichiers. La plupart des caractères sont littéraux :
, et (dans certains shells)
*,?,[...]sont les seuls caractères spéciaux. Il n'y a pas de syntaxe de quantificateur, pas d'ancrages, pas de regard en avant ou en arrière, ni de références inverses. Les implémentations traduisent généralement le glob en expression régulière internement, mais les utilisateurs n'ont pas besoin de penser en termes d'expressions régulières. Le glob est intentionnellement simple afin que les commandes shell restent courtes et prévisibles.{...}Pourquoi l'expansion des accolades ne fonctionne-t-elle pas dans tous les dialectes glob ? -
L'expansion des accolades (
expandant à trois alternatives) est une fonction technique du shell dans Bash et Zsh, évaluée avant la correspondance glob. Le shell pré-expand le groupe d'accolades en plusieurs arguments, et les glob de fichiers résultants sont correspondus indépendamment. Les bibliothèques pures utilisées par des outils comme
{a,b,c}(dansgit), Python.gitignorene réalisent pas l'expansion des accolades car ce n'est pas vraiment une partie de la langue glob — c'est une étape pré-processus au niveau du shell.fnmatch, et Gopath.MatchQuelle est la signification du ! initial dans un modèle glob ? -
La signification exacte dépend du contexte. À l'intérieur d'une classe de caractères,
annule la classe — correspond à tout caractère sauf
[!abc]. En tant que caractère initial sur un modèle complet,a,b, oucest principalement une!fonctionnalité où elle réinclut un chemin précédemment ignoré. La plupart des shells ne traitent pas un ! initial sur un glob comme négation — ils échouent (expansion de l'historique Zsh) ou le transmettent. Dans ce testeur, un ! initial est interprété comme une commodité : il inverse la correspondance afin que les chemins non correspondants soient mis en évidence en vert..gitignorepar exemple, src/**/*.{js,ts}!src/index.jssrc/utils/helpers.tsREADME.md...!Testeur de modèle glob shell 1
Installez nos extensions
Ajoutez des outils IO à votre navigateur préféré pour un accès instantané et une recherche plus rapide
恵 Le Tableau de Bord Est Arrivé !
Tableau de Bord est une façon amusante de suivre vos jeux, toutes les données sont stockées dans votre navigateur. D'autres fonctionnalités arrivent bientôt !
Outils essentiels
Tout voir Nouveautés
Tout voirMise à jour: Notre dernier outil a été ajouté le 16 juin 2026
