Expansión de llaves de bash
WebTodo se ejecuta en tu navegador: no se sube nada
Pega uno o varios patrones con llaves y obtén todas las expansiones al momento. Sigue la semántica de bash: `{a}` y `{a,b}` no son lo mismo — el primero no se expande (se queda como `{a}`) y el segundo da `a b`; y `{1..1}` se expande a un único elemento, `1`. Los rangos admiten paso (`{1..10..2}`), orden inverso (`{10..1}`), relleno de ceros (`{01..03}`) y letras (`{a..e}`), y las listas se anidan sin problema (`{a,b}{1,2}`). Un `\{` escapado y un `{` sin cerrar se tratan como caracteres normales, sin dar error. La expansión solo construye cadenas: no comprueba si los archivos existen, igual que `echo` en bash; y todo se calcula localmente en tu navegador, sin subir el patrón.
Funciones
- Listas por comas: `{a,b,c}` se expande a tres elementos, conservando lo de delante y detrás
- Rangos numéricos con paso: `{1..10..2}` da 1 3 5 7 9
- El orden inverso sigue a los extremos: `{10..1}` no necesita un paso negativo
- Relleno de ceros: `{01..03}` da 01 02 03, con el ancho del extremo más largo
- Rangos de letras: `{a..e}` y `{z..v}`, también con paso y orden inverso
- Anidamiento y producto cartesiano: `{a,{b,c}}`, `{a,b}{1,2}`
- Un `{a}` de un solo elemento no se expande; `{1..1}` sí, a un elemento
- Un `\{` escapado y un `{` sin cerrar se dejan como caracteres normales
- Un máximo por línea: un patrón desbocado da error en vez de colgar el navegador
- Un bloque por patrón, con cada elemento copiable por separado o todo de golpe
Cómo se usa
- Pega un patrón por línea, p. ej. `file{1..3}.txt`
- Cada elemento se lista al momento, junto con el número de expansiones
- Baja el «número máximo de expansiones» si un patrón es demasiado grande
- Usa el botón de copiar de la fila para un elemento, o «Copiar todo» para la lista entera
Preguntas frecuentes
- ¿Por qué `{a}` no se expande a `a`?
- Es la semántica de bash: una llave que no tiene ni coma ni un rango válido se conserva tal cual, así que `{a}` sigue siendo `{a}` y `file{a}.txt` sigue siendo `file{a}.txt`. Si quieres `filea.txt`, escríbelo directamente. El que sí se expande es el rango `{1..1}`, que da un único elemento `1`; ese par es fácil de confundir.
- ¿`{1..03}` rellena con ceros?
- Sí. Si cualquiera de los dos extremos lleva un cero a la izquierda, cada elemento se rellena al ancho del extremo más largo, así que `{1..03}` da `01 02 03`, no `1 2 03`. Si ninguno lleva cero a la izquierda (`{1..3}`), no hay relleno.
- ¿Existen de verdad los archivos expandidos?
- No se comprueba. La expansión de llaves solo construye cadenas: no toca el sistema de archivos ni la red. Igual que `echo file{1..3}.txt` en bash, imprime tres nombres aunque no exista ninguno de los tres archivos.
- ¿Por qué hay un máximo de expansiones?
- Porque algo como `{1..1000000000}` serían gigabytes de texto y colgaría el navegador. La herramienta cuenta primero (los rangos se calculan con aritmética, no enumerando) y da error al pasar el límite. El valor por defecto es 1000 y se puede subir.
Herramientas relacionadas
Explicador de regex
WebDesglosa una expresión regular parte por parte — clases, cuantificadores, grupos, aserciones y anclas — y dice qué coincide cada una.
Conversor de rutas
WebDa de una vez la forma Windows, con barras normales, WSL (/mnt/c) y Git Bash (/c) de una ruta, con la barra final intacta. Todo en tu navegador.
Validador de config
WebComprueba package.json, .env, robots.txt, sitemap.xml o cabeceras HTTP. Hallazgos en tres niveles —errores, avisos y sugerencias—, cada uno explicado.
Analizador de URL
WebDescompone una URL en esquema, host, puerto, ruta, parámetros y ancla, con cada parámetro en crudo y decodificado. Todo en tu navegador.
Analizador de UA
WebAnaliza un User-Agent: navegador, versión, sistema, tipo de dispositivo y motor, con las reglas que coinciden. Solo coincidencia de patrones.
Códigos de estado HTTP
WebConsulta un código de estado HTTP: significado, clase 1xx–5xx, usos típicos y trampas habituales. También busca por palabra clave. Todo local.