¿Odias los anuncios? Ir Sin publicidad Hoy

Prueba de patrón de glob de shell

DatosDesarrolladorTexto
ANUNCIO · ¿ELIMINAR?
Utilice * (cualquier carácter), ? (un carácter), ** (cualquier ruta), [abc] (clase de caracteres), {a,b} (alternativas). Prefija con ! para invertir.
Diferentes shells interpretan *, **, ?, y llaves de forma diferente. Las notas que aparecen debajo del resultado explican las diferencias.
Los resultados de coincidencia aparecerán aquí.
ANUNCIO · ¿ELIMINAR?

Guía

Prueba de patrón glob Shell

Prueba de patrón de glob de shell

Prueba patrones glob contra una lista de rutas de archivos y ve exactamente cuáles coinciden — en tiempo real, con semánticas para Bash, Zsh, .gitignore, Python y Go fnmatch, y Go path.Match. Introduce un patrón como src/**/*.{js,ts}, pega rutas y observa cómo las coincidencias se resaltan en verde y las no coincidencias se desvanecen mientras escribes.

Cómo Usar

  1. Introduce un patrón glob en el Patrón global campo (por ejemplo **/*.log).
  2. Elige un Shell / Modo — el mismo patrón puede coincidir con conjuntos diferentes de rutas según si estás en Bash, .gitignore, Python fnmatch, o Go.
  3. Pega tu rutas de archivo una por línea — o haz clic en un ejemplo incorporado.
  4. Las coincidencias se resaltan en verde con un icono de verificación; las no coincidencias permanecen grises. El resumen muestra el conteo y una nota sobre el modo seleccionado.
  5. Prefija tu patrón con ! para invertir la coincidencia (resalta todo lo que no coincida). no Los cinco modos de shell

Características

  • – Bash (con globstar), Zsh extended_glob, .gitignore, Python , cada uno con las semánticas correctas para fnmatch, y Go path.Match, y expansión de llaves. *, **, ?Resaltado en tiempo real
  • – Las rutas se reevalúan mientras escribes el patrón; no hay botón de envío. Expansión de llaves
  • alternativas en modos Bash y Zsh, incluyendo anidación y productos cruzados como{a,b,c} Clases de caracteres src/{js,ts}/**/*.{spec,test}.ts.
  • clases negadas y rangos como[abc], [!abc] Negación [A-Z].
  • – Prefija cualquier patrón con para invertir la coincidencia. ! Notas del modo
  • – Aparece una breve explicación debajo de cada resultado que explica cómo interpreta el modo elegido el patrón. – Carga un diseño de proyecto web, un filtro de registro en estilo .gitignore o un ejemplo de documentación/README para aprender por inspección.
  • Ejemplos rápidos – Los patrones y rutas nunca dejan tu navegador; funciona en modo offline una vez cargado.
  • Solo del lado del cliente Depuración de reglas .gitignore

Casos de uso común

  • – Pega una lista de rutas desde y ve cuáles serían ignoradas por una regla candidata. git status Escribir argumentos de compilación glob
  • – Valida que un patrón enviado a coincida con los archivos que esperas y nada más. tsc, esbuild, o prettier --write Escribir filtros de rutas en CI
  • – Confirma que un filtro en GitHub Actions o GitLab CI coincida con el subconjunto correcto de archivos antes de empujar. paths: Traducir scripts de shell
  • – Verifica que un patrón siga funcionando tras trasladar el código entre Bash y un servicio en Python o Go. Enseñar semánticas de glob
  • – Muestra a los estudiantes de forma concreta por qué no atraviesa límites de directorio en Bash pero sí en * ¿Cuál es la diferencia entre * y ** en un patrón glob? fnmatch.

Preguntas frecuentes

  1. Un único

    coincide con cualquier carácter dentro de un segmento de ruta, pero no atraviesa un separador de directorio ( * ). El doble/(llamado globstar) coincide con cualquier número de caracteres a través de cualquier número de segmentos de directorio. Así, ** coincide con ambos. No todos los dialectos de glob soportan src/*.js coincide src/index.js pero no src/utils/index.js— Python src/**/*.js y Go ** tratan los dos asteriscos como dos caracteres separados fnmatch ¿Cómo es diferente el matching de glob con una expresión regular? path.Match Los glob son un lenguaje de patrones mucho más pequeño diseñado para coincidir con rutas de archivos. La mayoría de los caracteres son literales: * Segura para heredocs

  2. , y (en algunos shells)

    son los únicos metacaracteres. No hay sintaxis de cuantificación, no hay anclajes, no hay miradas, ni referencias de retorno. Las implementaciones traducen internamente el glob a una expresión regular, pero los usuarios no necesitan pensar en términos de expresiones regulares. El glob está diseñado intencionalmente para ser simple para que las líneas de comandos de shell sean cortas y predecibles. *, ?, [...]¿Por qué la expansión de llaves no funciona en todos los dialectos de glob? {...} La expansión de llaves (

  3. expansión a tres alternativas) es técnicamente una característica de shell en Bash y Zsh, evaluada antes de que el glob se coincida. El shell expande previamente la expresión de llaves en múltiples argumentos, y los glob de archivos resultantes se coinciden de forma independiente. Las bibliotecas puro glob utilizadas por herramientas como

    (en{a,b,c} ), Python git no implementan la expansión de llaves porque no forma realmente parte del lenguaje de glob — es un paso de preprocesamiento separado en el nivel del shell. .gitignore¿Qué significa el ! inicial en un patrón glob? fnmatch, y Go path.Match El significado exacto depende del contexto. Dentro de una clase de caracteres,

  4. negativa la clase — coincide con cualquier carácter individual excepto

    . Como carácter inicial en un patrón completo, [!abc] es principalmente una a, b, o ccaracterística en la que vuelve a incluir una ruta previamente ignorada. La mayoría de los shells no tratan un inicial ! en un glob como negación por sí solos — o bien producen un error (expansión de historia en Zsh) o lo pasan sin procesar. En este tester, un inicial .gitignore se interpreta como una conveniencia: invierte la coincidencia para que las rutas no coincidentes se resalten en verde. ! por ejemplo, src/**/*.{js,ts} ! src/index.jssrc/utils/helpers.tsREADME.md...

¿Quieres eliminar publicidad? Adiós publicidad hoy

Instalar extensiones

Agregue herramientas IO a su navegador favorito para obtener acceso instantáneo y búsquedas más rápidas

añadir Extensión de Chrome añadir Extensión de borde añadir Extensión de Firefox añadir Extensión de Opera

¡El marcador ha llegado!

Marcador es una forma divertida de llevar un registro de tus juegos, todos los datos se almacenan en tu navegador. ¡Próximamente habrá más funciones!

ANUNCIO · ¿ELIMINAR?
ANUNCIO · ¿ELIMINAR?
ANUNCIO · ¿ELIMINAR?

Noticias Aspectos técnicos clave

Involucrarse

Ayúdanos a seguir brindando valiosas herramientas gratuitas

Invítame a un café
ANUNCIO · ¿ELIMINAR?