siguiente arriba anterior
Siguiente: Ejercicios Arriba: Archivos (i); nombres mediante Anterior: Ejercicios

Nombres mediante metacaracteres

Los metacaracteres nos ayudan a especificar conjuntos de archivos de una forma breve y formal. Hablando técnicamente, nos ayudan a construir expresiones regulares.

Como ejemplos podemos poner:

* se refiere a cualquier nombre incluso uno vacío.
a* cualquier nombre que empiece por a.
[ab]* cualquier nombre que empiece por a o b.
[0-9]* cualquier nombre que empiece por cualquier dígito.
? se refiere a cualquier nombre de una sola letra.
[a-b]* cualquier nombre que empiece por cualquier letra minúscula.
ho?a.c cualquier nombre que empiece por ho y acabe por a.c y contenga una letra en medio.

Las expresiones regulares (véase man regexp) pueden ser muy complejas y muy potentes.

El shell del UNIX, cuando ejecutamos mandatos como ls * captura ciertos caracteres especiales y los interpreta «antes» de evaluar el mandato (en este caso ls). Aquí en primer lugar busca en el directorio actual todos aquellos archivos cuyo nombre concuerda (match) con la expresión regular *; a continuación le proporciona la lista completa (de una vez) al mandato ls.

En definitiva, es el shell quien expande nuestra línea «antes» de ejecutar el mandato.



Subsecciones
siguiente arriba anterior
Siguiente: Ejercicios Arriba: Archivos (i); nombres mediante Anterior: Ejercicios
Cesar Llamas Bello 2001-01-09