Searching for strings

Many search terms take a string as a parameter and match it against one or more fields of a package. Strings can be entered either with or without double quotes (« " »), so « ?name(scorch) » and « ?name("scorch") » will perform the same search.

If you enter a « bare » string, one not surrounded by double quotes, then aptitude will consider the string to have « ended » when it encounters the closing parenthesis or the comma before a second argument to the search term. [11] To remove the special meaning of these characters, place a tilde (« ~ ») directly before them. For instance, ?description(etc)) is a syntax error, because the first ) ends the ?description term, and the second ) does not match anything. In contrast, ?description(etc~)) matches any package whose description contains the text « etc) ». There are additional considerations if you are using the shorthand notation for a term; see la section intitulée « Shorthand for search terms » for details.

La plupart des recherches textuelles (de noms de paquets, descriptions, etc.) sont réalisées en utilisant des expressions rationnelles où la casse des lettres ne compte pas. Cela signifie que vous devez protéger par une barre oblique inverse (« backslash ») les caractères spéciaux des expressions rationnelles[12] dans vos recherches. Par exemple, pour rechercher « g++ », vous devrez utiliser le motif « g\+\+ ».



[11] aptitude will only treat the comma as special if there is a second argument, so (for instance) « ?name(apt,itude) » searches for the string « apt,itude » in the Name field of packages.

While this behavior is well-defined, it may be surprising; I recommend using quoted strings for any pattern that contains characters that could have a special meaning.

[12] Les caractères spéciaux des expressions rationnelles sont « + », « - », « . », « ( », « ) », « | », « [ », « ] », « ^ », « $ » et « ? ». Remarquez que certains de ceux-ci sont aussi des caractères spéciaux d'aptitude, donc si vous voulez, par exemple, taper un « | » littéral, il vous faudra, le déspécialiser deux fois comme cela : « \~| ».