# Comodines (wildcards)

Una característica muy útil de la terminal de Bash son los denominados comodines o wildcards. Nos permiten **definir patrones de búsqueda/unificación de ficheros y directorios para realizar operaciones por lotes**. Hay tres tipos de wildcards:

***

**`*` (asterisco)**: busca/unifica cualquier secuencia de 0 o más caracteres.&#x20;

Ejemplos de uso:

* `rm *.o` -> elimina todos los ficheros del directorio de trabajo actual que acaben con `.o`.
* `mv *.cpp p0/` -> mueve todos los ficheros que acaban en `.cpp` al directorio `src`.

<figure><img src="https://content.gitbook.com/content/tvWqgr9lAJH0iYXZM8i1/blobs/IljCFhPquixHZ2R7ldRt/Captura%20de%20pantalla%20de%202023-09-06%2000-55-28.png" alt="" width="563"><figcaption><p>Ejemplo de uso del wildcard <code>*</code> (asterisco).</p></figcaption></figure>

***

**`?` (interrogante):** busca/unifica cualquier carácter.&#x20;

Ejemplos de uso:

* `rm file?.o` -> elimina todos los ficheros que empiezan por `file`, seguidos de cualquier carácter, y que acaban en `.o`. (p.e. `test1.o`, `test2.o`, `testA.o`, etc.)

<figure><img src="https://content.gitbook.com/content/tvWqgr9lAJH0iYXZM8i1/blobs/P3aEbDhNzyCH9qKyAprw/Captura%20de%20pantalla%20de%202023-09-06%2000-59-34.png" alt="" width="521"><figcaption><p>Ejemplo de uso del wildcard <code>?</code> (interrogante).</p></figcaption></figure>

***

**`[]` (corchetes)**: busca/unifica cualquier carácter o rango de caracteres especificados dentro de los corchetes.&#x20;

Ejemplos de uso:

* `rm file[1-3].o` -> elimina todos ficheros empiezan por `file`, seguidos de algun carácter comprendido entre el rango `1-3` (es decir: 1, 2 ó 3), y que acaban en `.o` (p.e. `file1.o`, `file2.o`, `file3.o`).

<figure><img src="https://content.gitbook.com/content/tvWqgr9lAJH0iYXZM8i1/blobs/ilFo3DhjM7L0rKHVMqdi/Captura%20de%20pantalla%20de%202023-09-06%2001-02-46.png" alt="" width="563"><figcaption><p>Ejemplo de uso del wildcard <code>[]</code> (corchetes).</p></figcaption></figure>
