Vyhledávací vzory

Řetězec, který zadáváte při hledání balíku nebo při omezování zobrazení, se nazývá „vyhledávací vzor“. Přestože většina hledání používá pouze hledání podle jména, aptitude vám nebrání ve vytváření komplexnějších dotazů.

[Poznámka]Poznámka

Vyhledávací vzory nemusíte používat pouze v celoobrazovkovém režimu, ale také u některých řádkových příkazů. Podrobnosti naleznete v kapitole Přehled příkazů.

Vyhledávací vzor se skládá z jedné nebo více podmínek (někdy nazývaných „termy“). Balíky se shodují se vzorem, pokud se shodují se všemi jeho termy. Termy obvykle začínají vlnkou („~“), za kterou následuje znak určující typ termu a za ním je případný řetězec znaků.

Implicitně se vzory porovnávají vůči všem dostupným verzím balíku, ale pro některé vzory existují výjimky. Například vzor ~D akceptuje jako parametr jiný vzor a shoduje se s balíky, které závisí na balících splňující tento vzor. V tomto případě se budou testovat pouze balíky, které splní příslušnou závislost. Verze pro porovnání se mění pouze v termech, které mají podterm (jako zmíněný ~D).

Většina textových hledání (v názvech balíků, popisech, atd.) probíhá pomocí regulárních výrazů (velikost písmen se ignoruje). To znamená, že musíte před řídící znaky regulárních výrazů psát zpětná lomítka. [11] (Například pro nalezení „g++“ byste měli použít vzor „g\+\+“.)

Tzv. „bílé znaky“ (mezery, tabulátory a pod.) normálně slouží k oddělování termů, ale jinak je aptitude ignoruje. Chcete-li zahrnout bílé (nebo jiné speciální) znaky, můžete před ně vložit vlnku (např. Projekt~ Debian), nebo term obklopit uvozovkami (jako třeba "Projekt Debian"). Dokonce je možná i varianta (Projekt" "Debian). Uvnitř termu v uvozovkách můžete pro zrušení speciálního významu uvozovek použít zpětné lomítko („\“). Například ~d"\"email"" se bude shodovat s balíky, jejichž popis obsahuje uvozovku bezprostředně následovanou řetězcem email. [12]

K dispozici jsou následující termy:

název

Shoduje se s balíky, jejichž názvy se shodují s regulárním výrazem název. Toto je „implicitní“ režim hledání a používá se pro vzory, které nezačínají vlnkou ~.

[Poznámka]Poznámka

Pro vyhledání balíků, jejichž názvy obsahují několik různých podřetězců, použijte ~n (bude popsán níže); například „~napti~ntude“.

!term

Shoduje se s balíky, které se neshodují s termem term. Například „!~b“ vybere balíky, které nejsou „porušené“.

[Poznámka]Poznámka

Chcete-li zahrnout znak „!“ do regulárního výrazu, musíte ošetřit, aby jej aptitude nepovažovala za negaci termu: „~!“.

term1 | term2

Shoduje se s balíky, které se shodují buď s term1 nebo s term2.

[Poznámka]Poznámka

Chcete-li zahrnout znak „|“ do regulárního výrazu, musíte ošetřit, aby jej aptitude nepovažovala za logický term NEBO: „~|“.

(term)

Shoduje se s term. Závorky jsou užitečné pro explicitní shlukování složitých výrazů. Například „~D(perl|python)“ se shoduje s libovolnými balíky, které závisí na balíku jehož název obsahuje buď řetězec perl nebo python.

~Aarchiv

Shoduje se s verzemi balíků, které jsou dostupné z archivu, jehož název se shoduje s regulárním výrazem archiv. Tj. „~Atesting“ se shoduje s libovolným balíkem v testovací distribuci.

~aakce

Shoduje se s balíky, na kterých je naplánována daná akce. Akce může nabývat hodnot „install“, „upgrade“, „downgrade“, „remove“, „purge“, „hold“ (testuje, zda je balík podržen v aktuální verzi) nebo „keep“ (testuje, zda se stav balíku nezmění).

Poznamenejme, tento test zjišťuje pouze akce, které jsou na balíku skutečně naplánovány a nebere ohled na to, zda mohou být provedeny. Například ~aupgrade se shoduje právě s těmi balíky, které jste se rozhodli aktualizovat, ne s balíky, které by se daly aktualizovat (pro to použijte ~U).

~Btyp

Shoduje se s balíky, které mají nesplněné („porušené“) závislosti daného typu. Typ může nabývat hodnot „depends“, „predepends“, „recommends“, „suggests“, „conflicts“ nebo „replaces“.

~b

Shoduje se s balíky, které jsou „porušené“, tj. mají nesplněné závislosti, předzávislosti, nebo jsou v konfliktu.

~Cterm

Shoduje se s balíky, které jsou v konfliktu s balíky splňujícími daný term. Například „~C~mdburrows@debian.org“ vybere všechny balíky, jež jsou v konfliktu s balíky, které spravuje autor aptitude.

~c

Shoduje se s balíky, které jsou odstraněny, ale jejichž konfigurační soubory stále zůstávají v systému (tj. jsou odstraněny, ale ne vyčištěny).

~D[B][typ:]term

typ může být buď „provides“, nebo jedna ze závislostí popsaných v dokumentaci k ~B. Pokud typ není přítomen, použije se implicitní depends. Volitelný parametr B znamená, že se budou uvažovat pouze porušené závislosti.

Pokud má typ hodnotu „provides“, shoduje se s balíky, které poskytují balík odpovídající termu. V opačném případě se shoduje s balíky, které mají závislost typu typ na verzi balíku, jež odpovídá termu.

~dpopis

Shoduje se s balíky, jejichž popis se shoduje s regulárním výrazem popis.

~E

Shoduje se s Nezbytnými balíky.

~F

Tento term se neshoduje s žádným balíkem („F“ znamená „falešný“).[13]

~g

Shoduje se s balíky, které nejsou nainstalovány, nebo které byly instalovány automaticky a nyní na nich nezávisí žádný instalovaný balík.

~Gznačka

Shoduje se s balíky, jejichž pole Tag se shoduje s regulárním výrazem značka. Například vzor ~Ggame::strategy se shoduje se shoduje s balíky se strategickými hrami.

Více informací o značkách naleznete na domovské stránce projektu Debtags.

~i

Shoduje se s verzemi aktuálně nainstalovaných balíků.

Jelikož se standardně testují všechny verze, znamená to, že se shoduje s aktuálně nainstalovanými balíky.

~M

Shoduje se s balíky, které byly instalovány automaticky.

~msprávce

Shoduje se s balíky, jejich pole Maintainer (Správce) odpovídá regulárnímu výrazu správce. Například „~mjoeyh“ nalezne všechny balíky spravované Joey Hessem.

~N

Shoduje se s „novými“ balíky.

~nnázev

Shoduje se s balíky, jejichž název se shoduje s regulárním výrazem název. Například většina balíků odpovídajících výrazu „~n^lib“ budou nejrůznější knihovny.

~Opůvod

Shoduje se s verzemi balíků, jejichž původ se shoduje s regulárním výrazem původ. Například výrazem „!~Odebian“ můžete ve svém systému nalézt všechny neoficiální balíky (tj. balíky nepocházející z archivu Debianu).

~Pterm

Shoduje se s verzemi balíků, které poskytují balík, jež odpovídá termu. Například „~Pmail-transport-agent“ vyhledá všechny balíky, které poskytují balík „mail-transport-agent“.

~ppriorita

Shoduje se s balíky, jejichž priorita odpovídá prioritě. Prioritu balíku můžete zadat buď českým nebo anglickým názvem a musí to být jedna z následujících hodnot: extra (extra), důležitý (important), volitelný (optional), vyžadovaný (required) nebo standardní (standard). Například „~pvyžadovaný“ („~prequired“) vyhledá všechny balíky s prioritou „vyžadovaný“ („required“).

~R[B][typ]:term

Typ může být buď „provides“, nebo jeden z typů závislostí zmíněných v dokumentaci termu ~B. Pokud nezadáte typ, použije se implicitní depends. Volitelný parametr B znamená, že se budou uvažovat pouze porušené závislosti.

Pokud má typ hodnotu „provides“, shoduje se s balíky, jejichž název je poskytován verzí balíku, která odpovídá termu. V ostatních případech se shoduje s balíky, na kterých závisí balíky (typem závislosti typ) odpovídající termu.

~S filtr term

Tento term „zúží“ hledání na verze balíků, které splňují daný filtr. Konkrétně se shoduje s balíky, jež splňují jak filtr, tak term. Řetězcová hodnota porovnání je řetězcová hodnota termu.

~ssekce

Shoduje se s balíky, jejichž sekce odpovídá regulárnímu výrazu sekce.

~T

Tento term se shoduje s libovolným balíkem. Například „~i~P~T“ se shoduje s instalovanými balíky, které jsou poskytovány libovolným balíkem.

~túloha

Shoduje se s balíčky, které jsou součástí úlohy, jejíž jméno odpovídá regulárnímu výrazu úloha.

~U

Term se shoduje s libovolným balíkem, který může být aktualizován.

~Vverze

Shoduje se s libovolnou verzí balíku, která odpovídá regulárnímu výrazu verze. Například „~Vdebian“ vyhledá balíky, jejichž číslo verze obsahuje řetězec „debian“.

Jistou výjimkou jsou následující hodnoty verze, na které je třeba brát zvláštní ohled a zadávat je s úvodním lomítkem. Například pro vyhledání balíků, jejichž verze obsahuje virtuální řetězec CURRENT, musíte zadat \CURRENT.

  • CURRENT se shoduje s aktuálně nainstalovanou verzí balíku.

  • CANDIDATE se shoduje s verzí balíku, která by se nainstalovala, pokud byste na balíčku stiskli +, nebo pokud byste na něj spustili příkaz aptitude install.

  • TARGET se shoduje s verzí balíku, která je momentálně naplánována pro instalaci.

~v

Shoduje se s čistě virtuálními balíky, tj. s balíky, jejichž jméno je poskytováno nějakým balíkem, nebo je toto jméno zmíněno v závislostech, ale žádný balík toho jména neexistuje. Například „~v!~P~T“ se shoduje s virtuálními balíky, které nejsou poskytovány žádným balíkem, jinými slovy s balíky, na kterých „něco“ závisí, ale které neexistují.

~Wterm

Rozšíří“ shodu: pokud jsou omezeny verze balíku, vůči kterým se má porovnávat vnější term (jako ~D), nebere se na tato omezení ohled. Tedy ~Wterm se shoduje s verzí balíku, pokud se term shoduje s libovolnou verzí daného balíku.



[11] Řídící znaky regulárních výrazů zahrnují: „+“, „-“, „.“, „(“, „)“, „|“, „[“, „]“, „^“, „$“ a „?“. Některé z těchto znaků jsou zároveň i řídícími znaky pro aptitude. Chcete-li například napsat literál „|“, musíte jej uvodit dvakrát: „\~|“.

[12] Zpětné lomítko se dá použít také pro speciální sekvence \\, \n a \t.

[13] ~F je poskytován hlavně kvůli symetrii s ~T.