EnglezăFrancezăSpaniolă

Ad


Favicon OnWorks

ara - Online în Cloud

Rulați ara în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda ara care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


ara - un utilitar pentru efectuarea de interogări cu expresii regulate booleene în baza de date a pachetelor Debian

REZUMAT


Lot mod:
AAR [opțiuni] interogare

În modul lot, AAR ia una sau mai multe interogări drept argumente, citește fișierele bazei de date
conform configurației sale și emite rezultatele la stdout.

Interactiv mod:
AAR [Opțiuni] -i

Cu -i or -interactiv opțiuni AAR citește fișierele bazei de date și apoi solicită
utilizator pentru interogări sau comenzi. Rezultatele sunt afișate (cu ajutorul unui pager, cum ar fi
mai mult or mai puțin dacă este necesar), și AAR solicită din nou utilizatorului. Modul interactiv este puternic
recomandat, deoarece încărcarea bazelor de date a pachetelor poate fi lungă, dar odată încărcate, interogările rulează
destul de rapid. Acesta este un avantaj major al AAR peste unelte precum dpkg-iasearch or
dpkg-dctrl.

Pentru legături de chei vezi CHEIE Bindings.

Grafic interfață (GTK2):
O interfață grafică, xara(1), este furnizat de pachetul Debian xara-gtk.

Întrebare sintaxă
A se vedea EXEMPLE secțiune pentru o introducere rapidă; xara are ceva ajutor încorporat. The
sintaxa este descrisă în detaliu mai jos.

DESCRIERE


AAR și xara permite utilizatorului să caute în baza de date a pachetelor software Debian (care include
pachete instalate și dezinstalate) folosind interogări puternice făcute din combinații booleene de
expresii regulate care acţionează asupra câmpurilor date de tipare.

De exemplu, interogarea section=utils & depinde:(gtk or tk8 or xlibs or kde or gnom or qt)
& Debian & pachet va afișa pachete în secțiune utils care au grafic
interfețe (deoarece depind de seturi de instrumente grafice sau biblioteci X11) și ale căror
descrierea conține cuvintele Debian și pachet.

FUNDAMENTARE


Utilizatorii Debian pot instala cu ușurință software-ul cu comenzile dselect or apt-get instala.
Ei pot alege (pe Debian 3.1 unstable) dintre peste 30,000 de pachete. Găsirea dreptului
pachetul poate fi destul de dificil. Deși pachetele sunt clasificate în secțiuni brute,
sunt încă prea multe pachete și citirea tuturor descrierilor este exclusă.

Fișierele bazei de date sunt uriașe, iar sintaxa lor asemănătoare e-mailului le face greu de căutat
instrumente orientate pe linii precum grep. Există comenzi precum dpkg-iasearch(1) sau
dpkg-dctrl(1) dar capacitățile lor sunt limitate. Instrumente de gestionare a pachetelor grafice, cum ar fi
as aptitudine or sinaptică au capacități de căutare. Cu toate că AAR pot suna potrivit a instala sau
elimina pachetele, orientarea acestuia este cea a unui instrument de căutare puternic. Într-adevăr, numele AAR
provine de la forma imperativă a verbului turcesc căutare care înseamnă „a căuta”.

THE Debian. PACHET BAZA DE DATE


Baza de date a pachetelor Debian este un fișier text uriaș la /var/lib/dpkg/available (sau a
colecție de fișiere text sub /var/lib/apt/lists/). Aceste fișiere sunt într-o cutie poștală
format, iar o intrare tipică arată astfel:

Prioritate: obligatorie
Sectiune: baza
Dimensiune instalată: 460
Origine: debian
Menținător: Dpkg Development[e-mail protejat]>
Erori: debbugs://bugs.debian.org
Arhitectură: i386
Sursa: dpkg
Versiune: 1.10.24
Înlocuiește: dpkg (<< 1.10.3)
Depinde: libc6 (>= 2.3.2.ds1-4), ....
Nume fișier: pool/main/d/dpkg/dselect_1.10.24_i386.deb
Dimensiune: 119586
MD5sum: c740f7f68dab08badf4f60b51a33500a
Descriere: un instrument de utilizator pentru gestionarea pachetelor Debian
dselect este interfața de utilizator principală pentru instalarea, eliminarea și
gestionarea pachetelor Debian. Este un front-end pentru dpkg.

Fiecare pachet este astfel descris de un set de câmpuri (cum ar fi Pachet, Descriere, Versiune...).

INTREBARE SINTAXĂ AND SEMANTICĂ


Aici descriem sintaxa interogării în detaliu. Începând cu versiunea 1.0, AAR introduce noi,
sintaxă simplificată, care este destul de tradițională și ar trebui să fie familiară oricui a folosit
motoare de căutare. Termenii de căutare sunt pur și simplu combinați cu AND, OR și NU operatori booleeni.
Aruncând o privire la EXEMPLE secțiunea de la sfârșitul acestui manual ar trebui să vă ofere a
punct de start.

Luați în considerare setul D a descrierilor pachetelor Debian conținute în fișier
/var/lib/dpkg/available (sau în fișierele sub /var/lib/apt/lists/). Fiecare descriere este a
set de cupluri de forma (f,v) Unde f și v sunt șiruri: f este numele câmpului
(și anume, Pachet, Descriere, Filename, depinde, etc); v este valoarea lui. Prin urmare D este un set
de ansamblu de cupluri, formând universul. Interogările selectează subseturi ale universului D.
Opțiunile de ieșire selectează ce câmpuri ale părții selectate a universului să fie afișate și
cum să le afișați.

Interogări
A întrebare este o combinație booleană de expresii atomice. Un atomic expresie selectează a
submult al multimii D a descrierilor. Eu numesc acest set sens a expresiei; dacă e
denotă o expresie atomică, sensul ei este notat prin [E]. Semnificația unui boolean
combinația de expresii atomice este doar combinația booleană a semnificației sale
constituenți. Cu alte cuvinte, dacă e1 și e2 sunt expresii atomice, atunci e1 & e2 este
interogare, al cărei sens este intersecția semnificațiilor lui e1 și e2; si sensul lui
e1 | e2 este unirea sensurilor de e1 și e2.

Atomic expresii
Expresiile atomice pot fi de forme model, /regexp/, șir_ghilime, fieldspec
operator1 şir, Sau fieldspec operator2 expresie regulată.

boolean Operatorii și constant
e1 & e2 (De asemenea e1 AND e2, e1 și e2)
Aceasta este conjuncția logică (intersecția setată). Returnează intersecția lui [e1]
și [e2], adică pachete care satisfac atât e1 cât și e2.

e1 | e2 (De asemenea e1 OR e2, e1 or e2)
Aceasta este disjuncția logică (uniunea setată). Unirea [e1] și [e2], adică pachete
satisface e1, e2 sau ambele.

!e1 (De asemenea NU e1, nu e1)
Aceasta este negația logică (complementarea seturilor). Complement de [e1], adică pachete
nu satisface e1.

Vă rugăm să reţineţi că ~ reprezintă specificatorul de câmp implicit curent și nu este un
alias pentru operatorul de completare.

adevărat (De asemenea toate)
Setul tuturor descrierilor, adică toate pachetele.

fals (De asemenea nici unul)
Setul gol, adică fără pachete.

Câmp proiectanti
Un specificator de câmp fieldspec este o listă de modele de câmp separate prin virgulă.

Modelele de câmp sunt ca niște modele simple și pot conține caractere stea (care
reprezintă orice) sau semne de întrebare (care reprezintă orice caracter individual). Sunt
insensibil la majuscule. Ele specifică un set de câmpuri.

De exemplu descriere și Descriere specificați setul de câmpuri { Descriere }, în timp ce
de* specifică { Descriere, depinde }.

Specificatorul special ~ denotă specificatorul curent implicit (vezi mai jos).

Curent domenii proiectanti și simplificată atomic expresii
Necesitatea de a repeta specificatorul de câmp poate face greoaie sintaxa de mai sus. Acesta este motivul pentru care
există o curent camp specificator. Câmpul curent specificat este, implicit,
Descriere, pachet. Expresiile atomice simplificate sunt pur și simplu cuvinte sau înveliș simplificat
expresii (care nu trebuie incluse între ghilimele duble) și sunt căutate în
câmpurile din specificatorul de câmp curent. Ele pot fi formate din litere, cifre, litere de subliniere,
liniuțe și puncte. Ele pot conține stele de semne de întrebare care sunt interpretate ca pentru
modele de câmp (adică, ca expresii shell simplificate). Dacă sunt folosite ghilimele duble, altele
pot fi folosite caractere și spații.

Specificatorul de câmp implicit într-o interogare întrebare poate fi schimbat în fieldspec pur și simplu
prefixarea interogării cu fieldspec:. Asta da fieldspec:interogare. Totuşi dacă întrebare is
complex (adică, conține operatori booleeni binari) pe care trebuie să-l anexați întrebare in
paranteze, ca în fieldspec:(interogare1 or interogare 2).

Şir literale
Şir literale poate fi dat cu sau fără ghilimele duble; fără ghilimele duble, the
sintaxa este ca pentru identificatorii C, cu excepția faptului că puteți folosi liniuțe, trebuie să începeți cu a
litera latină ([a-zA-Z]) și puteți continua cu litere latine, cifre zecimale sau
sublinia ([a-zA-Z0-9_]). Între ghilimele duble, toate caracterele sunt permise, cu excepția
ghilimele duble, care trebuie precedate de o bară oblică inversă.

Variabile
Rezultatele interogărilor pot fi stocate în variabile, care pot fi rechemate ulterior. Asta nu este
foarte util în modul lot, dar este util în modurile interactive și grafice.

Numele variabilelor încep cu un dolar și urmează convențiile obișnuite pentru variabile, adică ei
poate fi orice amestec de caractere alfanumerice și simboluri, cum ar fi liniuță de subliniere, liniuță etc.

Numele variabilelor sunt sensibile la majuscule, astfel încât $Installed și $instalat sunt diferite.

Pentru a atribui rezultatul unei interogări (care este un set de pachete) o variabilă numită $variabil
doar executați interogarea $variabil := întrebare. Puteți apoi să vă amintiți acest set special de
pur și simplu scris $variabil.

Exemplu: $instalat := stare:(instalat & !nu este instalat)

Operatorii
Operatorii de comparație ierarhică pot fi anulați prin schimbarea direcției unghiului
paranteze și adăugarea sau eliminarea unui semn de egalitate la sfârșit (<= devine >). Alti operatori
sunt negate după cum urmează: = devine != și =~ devine !~.

fieldspec=șir
Expresia atomică selectând pachete care au un câmp în fieldspec având o valoare a
valoare exact egală cu şir.

fieldspec (fieldspec<=șir, fieldspec>șir, fieldspec>=string)
Expresia atomică selectând pachete care au un câmp în fieldspec a cărui valoare este
strict mai puțin decât şir. Ordinea folosită este ordinea de versiuni Debian. Acest
ordinea este compatibilă cu ordinea naturală pe numere întregi și cu versiunea Debian
numerele. Când se compară șiruri care nu conțin caractere speciale, literele sortează
înaintea numerelor, spre deosebire de ordinea lexicografică ASCII cu care suntem obișnuiți. Acest lucru înseamnă
că numerele hexazecimale (cum ar fi sumele MD5) nu vor avea ordinea obișnuită.

Rețineți că şir trebuie să fie în partea dreaptă a operatorului (adică, nu puteți scrie
1000 < Mărimea).

fieldspec=~/expresie/ (De asemenea fieldspec:/expresie/)
Selectează descrieri al căror câmp este numit fieldspec există și a cărui valoare se potrivește,
sensibil la majuscule și minuscule, expresia regulată expresie.

fieldspec=~/expresie/i (De asemenea fieldspec:/expression/i)
La fel ca mai sus, dar expresia regulată nu face distincție între majuscule și minuscule.

fieldspec=~/expresie/w (De asemenea fieldspec:/expression/w)
La fel ca mai sus, dar expresia regulată face distincție între majuscule și minuscule și se potrivește numai la
limitele cuvintelor. Rețineți că tranzițiile de la litere la cifră sau de la cifră la literă sunt
considerate a fi limite de cuvinte.

fieldspec=~/expresie/iw (De asemenea fieldspec:/expression/iw)
Expresia regulată de aici nu ține seama de majuscule și minuscule și se potrivește la granițele cuvintelor.

Regulat expresii
Expresiile regulate sunt date între o pereche de bare oblice; ultima bară oblică poate fi urmată de
o succesiune comutativă de litere care denotă steaguri. Sintaxa expresiei regulate este asemănătoare cu sed:
parantezele de grupare și alternanța trebuie tăiate invers. Pentru mai multe detalii, consultați
Capitolul manual Objective Caml despre modulul Str. În scurt (x,x1,x2 sunt meta-simboluri
denotă expresii regulate):

/./ Orice personaj.

/toto/ Literal șir toto.

/x1x2/ Concatenare.

/x1\|x2/
Alternanţă.

\(x1\)*
Închidere cu stea.

[CD] Gama de caractere.

\b Granițele cuvintelor.

/x/i Nu ține seama de majuscule.

/x/w La limitele cuvintelor.

Observație
Cele mai multe interogări vor conține o cantitate apreciabilă de metacaractere shell. De exemplu,
disjuncția logică este indicată de caracterul pipe, care este folosit de toate shell-urile cunoscute.
Problema este agravată de faptul că este posibil să apară numele comenzilor reale în
expresiile folosite; configurarea cu succes a unei conducte UNIX prin eroare este prin urmare
plauzibil.

Când suni AAR din linia de comandă în modul batch, sunteți îndemnat să vă protejați
întrebările dvs. înconjurându-le cu ghilimele simple; nu scrie niciodată așa ceva AAR
Pachet*=~/oprire|repornire|oprire/ deoarece acest lucru va reporni foarte probabil sistemul dvs. (și este
sintaxă incorectă a expresiei regulate, dacă oprire or reporniți or închidere se înţelege: conductele trebuie să fie
backslash). În schimb, ar trebui să scrie AAR „Pachet*=~/oprire\|repornire\|oprire /'

OPŢIUNI


Ziua Operației
-interactiv, -i
Modul interactiv; solicitați o interogare, afișați-o.

-config (de asemenea pentru xara)
Setați numele fișierului de configurare (implicit $HOME/.ara/ara.config).

-noconfig
Nu încercați să creați un fișier de configurare.

-nicio istorie
Nu salvați istoricul comenzilor

Ajutor Opțiuni
-Ajutor (de asemenea pentru xara)
Afișează ceva ajutor

-despre Afișați drepturile de autor, mulțumiri și dedicare.

-versiune, -despre (de asemenea pentru xara)
Imprimați autor, licență, versiune și dedicare (și ieșiți dacă este apelat din CLI).

- exemple
Afișați o documentație, inclusiv exemple de ieșire.

-q
Interogare (de exemplu, depends:xlibs & !package:xcalc).

-interogare
Idem.

Opţiuni aparținând la il terminal
-progres (-nici un progres)
Afișați sau nu afișați indicatorul de progres la încărcarea bazei de date.

-linii
Setați înălțimea terminalului pentru afișaj interactiv. În mod implicit, acesta este preluat din
variabilă de mediu LINII sau ca 25 dacă este nedefinit.

-coloane
Setați lățimea terminalului pentru afișare interactivă. În mod implicit, acesta este preluat din
variabilă de mediu COLOANE sau ca 25 dacă este nedefinit.

-pager (-nopager)
Utilizați (sau nu utilizați) un pager care afișează rezultate lungi în modul interactiv. Paginatorul
comanda este definită în fișierul de configurare $HOME/.ara/ara.config. În mod implicit
aceasta este /etc/alternatives/pager. Paginatorul este utilizat numai când dimensiunea de ieșire
depășește înălțimea terminalului.

- depanare (de asemenea pentru xara)
Activați informațiile de depanare

-nivel de depanare (de asemenea pentru xara)
Setați nivelul de depanare (mai mare este mai verbos, max este 100, implicit este 10)

Afişa stiluri
-nou Afișați numai cea mai nouă versiune a fiecărui pachet.

-vechi Listați toate versiunile de pachete.

-mic de statura
Afișează numele pachetelor care satisfac interogarea (și versiunea acestora dacă -vechi este setat), cu
mai multe pachete pe linie.

-listă
La fel, dar afișați un nume de pachet pe linie și fără acolade (implicit).

-brut
Pentru fiecare pachet care satisface interogarea, afișați toate câmpurile selectate.

-masa
Afișați rezultatele ca tabel.

-noborders
Nu desenați margini ASCII pentru ieșirea tabelară.

-granite
Desenați margini ASCII pentru ieșirea tabelară.

-numara
Afișează numărul de pachete potrivite.

-câmpuri
Limitați rezultatul la câmpurile specificate. Specificatorii de lățime opționali sunt utilizați împreună cu
-masa opțiune și ignorat altfel. Folosiți * pentru a afișa toate câmpurile (dar nu uitați
scapă de personajul vedetă din carapacea ta).

-ast Turnați arborele de sintaxă abstractă al interogărilor analizate în stderr.

EXEMPLE


AAR „Section=utils”
Listați numele fiecărui pachet în secțiunea utils.

AAR 'Section=utils și !Depinde de:(gnome|kde|gtk)'
... cu excepția celor al căror câmp de dependență se potrivește cu expresia regexp gnome\|kde\|gtk

AAR -listă 'Section=utils și Stare:(instalat & !nu este instalat)'
Listați toate pachetele instalate în secțiune utils.

AAR -mic de statura 'section=utils și !depinde:(gtk|gnome|kde) și priority=optional'
... enumerați mai multe nume pe linie și afișați numai pachetele opționale.

AAR -mic de statura 'section=utils & (! depinde de:(gtk|gnome|kde) | dimensiune <100000) & priority=optional'
Ei bine, excludeți chestiile gtk, gnome sau kde numai dacă au 100000 de octeți sau mai mult.

AAR -noborders -câmpuri Pachet, dimensiune, întreținere: 20 -masa \
-mic de statura 'section=utils & (! depinde de:(gtk|gnome|kde) | dimensiune <100000) & priority=optional'

... arată câmpurile Pachet, Dimensiune și Menținere din rezultatele de mai sus ca un ascii frumos
tabel, limitând câmpul de întreținere la 20 de caractere, dar fără margini ASCII brute.

AAR -vechi -câmpuri Pachet: 8, Dimensiune, Descriere: 100 \
-masa „Secțiune=jocuri și nu (Depinde de:(gtk|sdl|kde|opengl|gnome|qt)
or /împușcă\|ucide\|distruge\|explozie\|cursă\|bombă/iw
or /multi\(-\|\)player\|strategie\|cucerire\|3\(-\|\)d/iw)
și Depinde:(xlibs or vga)
și Mărimea <= 1000000 "

Presupunând un afișaj cu 125 de coloane, afișați primele opt caractere ale numelui pachetului, the
dimensiunea în octeți și primele sute de caractere din (prima linie) a descrierii
toate pachetele din secțiunea de jocuri a căror dimensiune nu depășește un milion de octeți și
care nu depind de lucruri elegante precum GTK, SDL, KDE, OpenGL, Qt sau Gnome, nu menționați
unele forme de violență (a împușca, a ucide etc.) în descrierea lor, nu sunt descrise
ca multi-player, strategie, cucerire sau tridimensional, și totuși depind de oricare dintre xlibs
sau svga pentru a exclude jocurile bazate pe consolă.

SPEED


AAR citește întreaga bază de date în memorie și apoi procesează interogări. Din moment ce baza de date este
de obicei mare, acest lucru durează ceva timp. Cu toate acestea, interogările rulează apoi destul de rapid. Deci specifica
interogări multiple sau utilizați -interactiv opțiunea de a amortiza costul citirii
Bază de date.

Utilizați ara online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

  • 1
    curațare in profunzime
    curațare in profunzime
    Un script Kotlin care distruge toate constructiile
    cache-urile din proiecte Gradle/Android.
    Util atunci când Gradle sau IDE-ul vă permit
    jos. Scriptul a fost testat
    macOS, dar...
    Descărcați deep-clean
  • 2
    Plug-in-ul Eclipse Checkstyle
    Plug-in-ul Eclipse Checkstyle
    Pluginul Eclipse Checkstyle
    integrează codul Java Checkstyle
    auditor în IDE-ul Eclipse. The
    plug-in-ul oferă feedback în timp real pentru
    utilizatorul despre viol...
    Descărcați pluginul Eclipse Checkstyle
  • 3
    AstrOrzPlayer
    AstrOrzPlayer
    AstrOrz Player este un player media gratuit
    software, parte bazat pe WMP și VLC. The
    player este într-un stil minimalist, cu
    mai mult de zece culori tematice, și poate, de asemenea
    b ...
    Descărcați AstrOrzPlayer
  • 4
    movistartv
    movistartv
    Kodi Movistar+ TV este un ADDON pentru XBMC/
    Kodi care permite să dispună de un
    decodificator de servicii IPTV de
    Movistar integrat în unul de los
    centrele media ma...
    Descărcați movistartv
  • 5
    Cod :: Blocuri
    Cod :: Blocuri
    Code::Blocks este un program gratuit, open-source,
    cross-platform C, C++ și Fortran IDE
    construit pentru a satisface cele mai exigente nevoi
    a utilizatorilor săi. Este conceput să fie foarte
    extens ...
    Cod de descărcare::Blocuri
  • 6
    În mijlocul
    În mijlocul
    În mijlocul sau interfața avansată Minecraft
    iar Urmărirea Datelor/Structurii este un instrument pentru
    afișați o prezentare generală a unui Minecraft
    lume, fără a o crea efectiv. Aceasta
    poate sa ...
    Descărcați Amidst
  • Mai mult »

Comenzi Linux

Ad