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
“” and
“?name(scorch)” will
perform the same search.
?name("scorch")
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,
is a syntax error, because the first ?description(etc)))
ends the ?description term, and the
second ) does not match anything. In
contrast, matches any
package whose description contains the text
“?description(etc~))etc)”. There are
additional considerations if you are using the shorthand
notation for a term; see the section called “Shorthand for search terms” for details.
Most textual searches (for package names, descriptions, etc) are performed using case-insensitive regular expressions. This means that you must backslash-escape regular expression metacharacters [12] in searches (for instance, to find “g++”, you should use the pattern “g\+\+”).
[11]
aptitude will only treat the comma as special if there
is a second argument, so (for instance)
“”
searches for the string
“?name(apt,itude)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]
Regular expression metacharacters include:
“+”, “-”, “.”,
“(”, “)”, “|”,
“[”, “]”, “^”,
“$”, and “?”. Note that some
of these are also aptitude metacharacters, so if you
want to type (for instance) a literal “|”,
it must be double-escaped:
“\~|”.