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:
“\~|
”.