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. If you enter a search string using double quotes, you can include a
literal double-quote in the search string by placing a backslash
(「?name
("scorch")\
」) immediately before it: for instance,
「
」 will match any
package whose description contains the string
「?description
("\"easy\"")"easy"
」.
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. [14] 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 correspond to any 「(
」. 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 「Shorthand for search terms」 for details.
Most textual searches (for package names, descriptions, etc) are performed
using case-insensitive regular
expressions. A regular expression will match against a field if any
portion of the field matches the expression; for instance,
「ogg[0-9]
」 will match
「libogg5
」,
「ogg123
」, and
「theogg4u
」. Some characters have a special
meaning within regular expressions [15] ,
so if you want to match them in searches you need to backslash-escape them:
for instance, to find 「g++
」, you should use
the pattern 「g\+\+
」.
The characters 「!
」 and
「|
」 have special meanings within search
patterns. In order to include these characters in an unquoted string, you
can place a tilde (「~
」) directly before
them. For instance, to match packages whose description contains either
「grand」 or 「oblique」, use the pattern
「
」. However,
you will probably find it more convenient to simply use a quoted string in
these cases:
「?description
(grand~|oblique)
」.
?description
("grand|oblique")
[14]
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.
[15]
Characters with a special meaning 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:
「
」 will match packages
whose description contains a vertical bar character
(「?description
(\~|)|
」).