Caracteres “comodín”
Enviado por lenguaje • 30 de Octubre de 2012 • Tesis • 538 Palabras (3 Páginas) • 377 Visitas
Caracteres “comodín”
Una característica importante de la mayoría de los intérpretes de comandos en Unix es la capacidad para referirse a más de un archivo usando expresiones regulares. En su forma más simple, esto consiste en la utilización de los llamados “comodines” que permiten referirse a, por ejemplo, todos los archivos cuyo nombre contiene una determinada secuencia de caracteres.
6.1 Los comodines “*” y “?”
El comodín “*” hace referencia cualquier cadena de caracteres en el nombre del archivo. Cuando se usa el carácter “*” para referirse al nombre de un archivo, el intérprete de comandos lo sustituye por todas las combinaciones posibles provenientes de los archivos en el directorio al cual nos estamos refiriendo.
Veamos un ejemplo rápido. Supongamos que diego tiene los archivos hugo, paco y luis en el directorio actual.
/home/diego$ ls
hugo luis paco
/home/diego$
Para listar todos los archivos con la letra “o” en su nombre, usamos la orden:
/home/diego$ ls *o*
hugo paco
/home/diego$
Como podemos ver, el comodín “*” ha sido sustituido con todas las combinaciones posibles que coincidían de entre los archivos del directorio actual.
El uso de “*” solo, hace referencia a todos los archivos, puesto que todos los caracteres coinciden con el comodín.
/home/diego$ ls *
hugo luis paco
/home/diego$
Veamos algunos otros ejemplos:
/home/diego$ ls h*
hugo
/home/diego$ ls *is
luis
/home/diego$ ls *u*
hugo luis
/home/diego$ ls p*o
paco
/home/diego$
El proceso de la sustitución de caracteres como “*” en nombres de archivos es llamado “expansión de comodines” y es efectuado por el intérprete de comandos. Esto es importante: los comandos, como ls, nunca ven el “*” en su lista de parámetros. Es el intérprete quien expande los comodines para incluir todos los nombres de archivos que se adaptan. Por lo tanto la orden:
/home/diego$ ls *o*
es expandida para obtener
/home/diego$ ls hugo paco
Otro carácter comodín es “?”. Este carácter comodín sólo expande un único carácter. Luego “ls ?” mostrará todos los nombres de archivos con un carácter de longitud, y “ls termca?”, por ejemplo, mostrará “termcap” pero no “termcap.backup”. Aquí tenemos otro ejemplo:
/home/diego$ ls hu?o
hugo
/home/diego$ ls p??o
paco
/home/diego$ ls ???s
luis
/home/diego$
Como podemos ver, los caracteres comodín nos permiten referirse a más de un archivo a la vez. En el sumario de comandos básicos dijimos que cp y mv pueden copiar o mover múltiples archivos de una vez. Por ejemplo:
/home/diego$ cp /etc/s* /home/diego
copiará todos los
...