Buscar cadenas de caracteres.

Muchos términos de búsqueda toman una cadena de caracteres como parámetro, comparándolo con un campo de información de uno más paquetes. Se pueden introducir cadenas entrecomilladas ("), con lo cual ?name(scorch) y ?name("scorch") realizarían la misma búsqueda. Si introduce una cadena de búsqueda empleando comillas dobles puede también incluir comillas dobles literales poniendo un barra invertida (\) justo delante: por ejemplo, ?description("\"easy\"") coincidiría con todo paquete cuya descripción contenga la cadena en cuestión.

En caso de introducir una cadena simple, una que no va entrecomillada, aptitude considerará que la cadena ha finalizado cuando encuentra el paréntesis de cierre o la coma antes del segundo argumento del término de búsqueda.[14] Para que estos caracteres pierdan su significado especial, ponga una tilde (~) delante de ellos. Por ejemplo, ?description(etc)) contiene un error de sintaxis, porque el primer ) cierra el término ?description, y el segundo ) no se corresponde con ningún (. En contraste, ?description(etc~)) sí muestra cualquier paquete cuyo texto contiene etc). Hay también consideraciones adicionales si está empleando la abreviatura de un término; consulte “Abreviaturas de términos de búsqueda.” para más detalles.

La mayoría de búsquedas de texto (nombres de paquete, descripciones, etc...) se realizan usandoexpresiones regulares no sensibles a las mayúsculas. Una expresión regular coincide con un campo si cualquier porción del campo de texto coincide con la expresión; por ejemplo, ogg[0-9] coincide con libogg5, ogg123, y theogg4u. Algunos caracteres tienen un significado especial dentro de una expresión regular [15] , así que si desea encontrarlos en las búsquedas tendrá que introducir un escape de barra inversa: por ejemplo, para encontrar g++ debería usar el patrón g\+\+.

Los caracteres ! y | tienen un significado especial dentro de un patrón de búsqueda. Para poder incluir estos caracteres en una cadena no entrecomillada, puede precederlos de una tilde (~). Por ejemplo, para encontrar paquetes cuya descripción contiene grand u oblique, use el patrón ?description(grand~|oblique). De todas formas, en estos casos posiblemente encuentre más sencillo usar una cadena entrecomillada: ?description("grand|oblique").



[14] aptitude trata la coma de manera única si hay un segundo argumento, con lo cual ?name(apt,itude) busca la cadena apt,itude en el campo de Name de los paquetes.

Aunque este comportamiento está bien definido, puede dar lugar a sorpresas. Recomiendo usar las comillas dobles para todo patrón que contenga caracteres que puedan tener algún significado particular.

[15] Los caracteres con un significado especial incluyen: +, -, ., (, ), |, [, ], ^, $ y ?. Observe que algunos de estos son también meta-caracteres de aptitude, así que si quiere introducir, por ejemplo, un | literal, debe usar una barra invertida: ?description(\~|) muestra paquetes cuya descripción contiene un carácter de barra vertical (|).