piapia123
ja

bash 波括弧展開

Web

処理はすべてブラウザ内で完結します。データは送信されません

入力
ファイルをここにドロップすると読み込めます
出力

波括弧を含むパターンを貼り付けると、展開結果がすぐに一覧で出ます。bash の意味論に従います。`{a}` と `{a,b}` は別物で、前者は展開されずそのまま `{a}`、後者は `a b` になります。`{1..1}` は 1 項目 `1` に展開されます。区間は刻み幅(`{1..10..2}`)、逆順(`{10..1}`)、先頭ゼロの桁揃え(`{01..03}`)、英字(`{a..e}`)に対応し、リストと区間は自由に入れ子にできます(`{a,b}{1,2}`)。エスケープした `\{` や閉じていない `{` はエラーにせず普通の文字として扱います。展開は文字列を作るだけでファイルの有無は調べません(bash の `echo` と同じ)。すべてブラウザ内で処理され、入力は送信されません。

機能

  • カンマ区切りリスト:`{a,b,c}` は 3 項目に展開(前後の文字列は保持)
  • 数値区間と刻み幅:`{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}` は展開せず、`{1..1}` は 1 項目に展開
  • エスケープした `\{` と閉じていない `{` は普通の文字として扱う
  • 1 行あたりの最大展開数を設定でき、超過時はブラウザを固まらせずエラー
  • パターンごとに 1 ブロック、項目単位でも全体でもコピー可能

使い方

  1. 1 行に 1 パターン貼り付けます(例:`file{1..3}.txt`)
  2. 各項目と展開数がすぐに一覧表示されます
  3. 大きすぎる場合は「最大展開数」を小さくします
  4. 行末のコピーボタンで個別に、または「すべてコピー」でまとめて取り出せます

よくある質問

`{a}` が `a` に展開されないのはなぜですか?
bash の意味論です。カンマも有効な区間もない波括弧はそのまま残るため、`{a}` は `{a}` のまま、`file{a}.txt` もそのままです。`filea.txt` が欲しい場合はそう書いてください。展開される「単一要素」は区間 `{1..1}` の方で、1 項目 `1` になります。
`{1..03}` はゼロで桁揃えされますか?
されます。両端のどちらかに先頭ゼロがあれば、広い方の桁数に合わせて揃えます。`{1..03}` は `01 02 03` になり、`1 2 03` にはなりません。どちらにも先頭ゼロがなければ(`{1..3}`)揃えません。
展開されたファイル名は実在しますか?
調べていません。波括弧展開は文字列を作るだけで、ファイルシステムにもネットワークにも触れません。bash の `echo file{1..3}.txt` と同様、3 つとも存在しなくても 3 つの名前を出力します。
なぜ展開数の上限があるのですか?
`{1..1000000000}` のようなパターンは数ギガバイトの文字列になり、ブラウザが固まるためです。本ツールはまず個数だけを数え(区間は算術で計算し列挙しません)、上限を超えたらエラーにします。既定は 1000 で、必要に応じて増やせます。

関連ツール