---
title: グロブパターンの理解
description: Code2Promptにおけるグロブパターンとその使用方法についての詳細な説明
---

グロブパターンは、ワイルドカード文字を使用してファイル名とパスを一致させるシンプルで強力な方法です。これらは、コマンドラインインターフェイスやプログラミング言語で、ファイル名やディレクトリのセットを指定するために一般的に使用されます。以下は、最も一般的に使用されるグロブパターンの内訳です。

## 基本的なワイルドカード

- `*`: 任意の数の文字（0文字を含む）に一致します。
  - 例: `*.txt`は、`.txt`で終わるすべてのファイルに一致します。

- `?`: ちょうど1つの文字に一致します。
  - 例: `file?.txt`は、`file1.txt`や`fileA.txt`には一致しますが、`file10.txt`には一致しません。

- `[]`: 括弧内に含まれる任意の1つの文字に一致します。
  - 例: `file[1-3].txt`は、`file1.txt`、`file2.txt`、`file3.txt`に一致します。

- `[!]`または`[^]`: 括弧内に含まれない任意の文字に一致します。
  - 例: `file[!1-3].txt`は、`file4.txt`や`fileA.txt`には一致しますが、`file1.txt`には一致しません。

## 高度なパターン

- `**`: 任意の数のディレクトリとサブディレクトリに再帰的に一致します。
  - 例: `**/*.txt`は、現在のディレクトリとすべてのサブディレクトリ内の`.txt`ファイルをすべて一致させます。

- `{}`: カンマで区切られたパターンのいずれかに一致します。
  - 例: `file{1,2,3}.txt`は、`file1.txt`、`file2.txt`、`file3.txt`に一致します。

## 例

1. **ディレクトリ内のすべてのテキストファイルを一致させる:**

   ```sh
   *.txt
   ```

2. **拡張子前に1桁の数字が付くファイルをすべて一致させる:**

   ```sh
   file?.txt
   ```

3. **`.jpg`または`.png`の拡張子を持つファイルを一致させる:**

   ```sh
   *.{jpg,png}
   ```

4. **サブディレクトリ内のすべての`.txt`ファイルを一致させる:**

   ```sh
   **/*.txt
   ```

5. **`a`または`b`で始まり、`.txt`で終わるファイルを一致させる:**

   ```sh
   {a,b}*.txt
   ```

## 使用例

- **コマンドラインツール:** グロブパターンは、`ls`、`cp`、`mv`、`rm`などのコマンドラインツールで、複数のファイルまたはディレクトリを指定するために広く使用されています。
- **プログラミング言語:** Python、JavaScript、Rubyなどの言語は、Pythonの`glob`ライブラリなど、グロブパターンをファイルの一致に使用するためのライブラリをサポートしています。
- **ビルドシステム:** Makefileなどのツールは、ソースファイルと依存関係を指定するためにグロブパターンを使用しています。

## 結論

グロブパターンは、ファイル名とパスを一致させるための柔軟で直感的な方法を提供し、スクリプト作成、自動化、ファイル管理タスクに不可欠なものとなっています。これらのパターンを理解して活用することで、ファイルとディレクトリの処理における生産性と効率を大幅に向上させることができます。

> このページは便宜上、自動的に翻訳されています。元のコンテンツについては英語版を参照してください。
