Seguramente alguna vez os hayáis encontrado en una situación en la que necesitabais instalar varios paquetes que comenzaran con el mismo nombre o quizás todos los paquetes que contuvieran un cierto texto. O quizás buscabais todos los paquetes que contuvieran algún término en su descripción. Esto y mucho más podemos lograrlo de forma cómoda utilizando expresiones regulares.
En aptitude los patrones de búsqueda se construyen con una o más condiciones. Cada condición comienza con el carácter ‘~’ y un carácter que identifica el tipo de condición, seguido de un texto alternativo que pudiera ser necesario para esa condición.
Por ejemplo utilizamos la condición ‘~n’ (n de name, nombre) para buscar en los nombres de los paquetes aquellos que coincidan con la expresión regular que le sigue. Por ejemplo para encontrar paquetes que contengan el texto ‘theme’ en su nombre escribiríamos:
aptitude search ~ntheme
Para encontrar todos aquellos paquetes cuyo nombre termine con theme usaríamos
aptitude search ~ntheme$
La condición ~n es la condición de búsqueda por defecto para aptitude, por lo que no es necesario especificarla y podríamos haber sustituido los comandos anteriores por:
aptitude search theme
y
aptitude search theme$
Sin embargo para el caso de install, si no especificáramos la condición de búsqueda:
sudo aptitude install theme
aptitude sólo nos informaría de que no existen paquetes con ese nombre, y listaría los paquetes que coinciden con la expresión, mientras que si especificamos la condición de búsqueda:
sudo aptitude install ~ntheme
aptitude da por sentado que sabemos lo que hacemos y procede a instalar todos los paquetes que coincidan con la expresión.
Otras condiciones de búsqueda interesantes son ~b para encontrar paquetes rotos, ~d para buscar una expresión regular en las descripciones de los paquetes o ~i para buscar paquetes instalados.
Para más información podéis consultar el capítulo 2 de la documentación de aptitude.
Pingback: 11 cosas que necesitas saber para convertirte en un experto de apt