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 la section intitulée « 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
(\~|)|
»).