bash 花括号展开
网络所有处理都在浏览器本地完成,数据不上传服务器
粘贴一条或几条花括号模式,立刻得到逐项展开的结果。它按 bash 的语义来:`{a}` 与 `{a,b}` 不同 —— 前者不展开(原样保留 `{a}`),后者展开成 `a b`;而 `{1..1}` 又会展开成一项 `1`。区间支持步长(`{1..10..2}`)、倒序(`{10..1}`)、前导零补位(`{01..03}`)与字母区间(`{a..e}`),列表与区间可随意嵌套(`{a,b}{1,2}`)。转义的 `\{`、未闭合的 `{` 都按普通字符处理,不会报错。展开只生成字符串、不检查文件是否存在,与 bash 里 `echo` 的行为一致;全部运算在浏览器本地完成,模式不会上传。
功能
- 逗号列表:`{a,b,c}` 展开成三项,前后缀原样保留
- 数字区间与步长:`{1..10..2}` 得到 1 3 5 7 9
- 倒序按起止自动反向:`{10..1}` 不用写负步长
- 前导零补位:`{01..03}` 得到 01 02 03,宽度取两端更宽的那个
- 字母区间:`{a..e}`、`{z..v}`,也支持步长与倒序
- 嵌套与笛卡尔积:`{a,{b,c}}`、`{a,b}{1,2}`
- 单元素 `{a}` 按 bash 语义不展开,而 `{1..1}` 展开成一项
- 转义的 `\{` 与未闭合的 `{` 当普通字符,不报错
- 可设每行最大展开数量,超过就报错而不是卡死浏览器
- 每条模式一组,逐项可单独复制,也可一次复制全部
使用方法
- 一行粘一条模式,例如 `file{1..3}.txt`
- 结果立刻按行列出每一项,并给出展开数量
- 规模太大时调小「最大展开数量」
- 点行末的复制按钮取走单项,或用「复制全部」整块取走
常见问题
- `{a}` 为什么不展开成 `a`?
- 因为这是 bash 的语义:花括号里既没有逗号、也不是合法区间时,它原样保留成 `{a}`。所以 `file{a}.txt` 得到的是 `file{a}.txt` 而不是 `filea.txt` —— 想得到后者,直接写 `filea.txt` 就行。真正会展开的「单元素」是区间 `{1..1}`(得到一项 `1`),这一对最容易混。
- `{1..03}` 会补零吗?
- 会。只要区间两端任意一端写了前导零,展开结果就会补零,宽度取两端里更宽的那个。所以 `{1..03}` 得到 `01 02 03` 而不是 `1 2 03`。两端都不写前导零(`{1..3}`)时不补。
- 展开出来的文件名真的存在吗?
- 不检查。花括号展开只生成字符串,不碰文件系统、也不联网 —— 就像 bash 里 `echo file{1..3}.txt` 一样,哪怕三个文件一个都不存在,它也照样输出三个名字。
- 为什么会有展开数量上限?
- 因为 `{1..1000000000}` 这种模式枚举出来是几吉字节的文本,会直接把浏览器卡死。工具先只数个数(区间用算术、不枚举),超过上限就报错。默认上限 1000,可以按需要调大。
相关工具
正则解释
网络把一条正则逐段拆开讲清楚:字符类、量词、分组、断言、锚点、反向引用与标志,各自是什么意思。解析式解释,不靠猜。
路径转换
网络一次给出 Windows、正斜杠、WSL(/mnt/c)与 Git Bash(/c)四种路径写法,末尾斜杠原样保留。全部在浏览器本地完成。
配置校验
网络校验 package.json、.env、robots.txt、sitemap.xml 与 HTTP 响应头,结论分错误、警告、建议三级,每条都说明为什么。全部在浏览器本地完成。
URL 解析
网络在线 URL 解析:拆出协议、主机、端口、路径、查询参数与锚点,参数逐个解码并与原始值对照,缺协议自动补 https://。全部在浏览器本地完成。
UA 解析
网络在线 User-Agent 解析:识别浏览器、版本、操作系统、设备类型与渲染引擎,并列出命中的匹配规则。结果基于模式匹配,仅供参考。全部在浏览器本地完成。
HTTP 状态码
网络HTTP 状态码查询与速查:输入编号查含义、1xx 到 5xx 分类、常见场景与排查提示,也能用关键词反查编号。全部在浏览器本地完成。