InglésFrancésEspañol

Ad


icono de página de OnWorks

ara - Online en la nube

Ejecute ara en el proveedor de alojamiento gratuito de OnWorks a través de Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando ara que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


ara: una utilidad para realizar consultas de expresiones regulares booleanas en la base de datos del paquete Debian

SINOPSIS


Lote modo:
guacamayo [opciones] consulta

En modo por lotes, guacamayo toma una o más consultas como argumentos, lee los archivos de la base de datos
según su configuración, y envía los resultados a stdout.

Formulario modo:
guacamayo [opciones] -i

Con la -i or -interactivo opciones, guacamayo lee los archivos de la base de datos y luego solicita el
usuario para consultas o comandos. Los resultados se muestran (con la ayuda de un buscapersonas como
más, or menos si es necesario), y guacamayo vuelve a preguntar al usuario. El modo interactivo es fuertemente
recomendado, ya que cargar las bases de datos del paquete puede ser largo, pero una vez cargado, las consultas se ejecutan
bastante rapido. Esta es una gran ventaja de guacamayo sobre herramientas como dpkg-iasearch or
dpkg-dctrl.

Para combinaciones de teclas, consulte VENTAJAS ENLACES.

Gráfico interfaz. (GTK2):
Una interfaz gráfica, Xara(1), es proporcionado por el paquete Debian xara-gtk.

Consulta sintaxis
Consulte las EJEMPLOS sección para una introducción rápida; Xara tiene algo de ayuda incorporada. los
la sintaxis se describe en detalle a continuación.

DESCRIPCIÓN


guacamayo y Xara Permitir al usuario buscar en la base de datos del paquete de software Debian (que incluye
paquetes instalados y desinstalados) utilizando potentes consultas hechas de combinaciones booleanas de
expresiones regulares que actúan sobre campos dados por patrones.

Por ejemplo, la consulta sección = utils & depende: (gtk or tk8 or xlibs or kde or gnomo or qt)
& debian & paquete mostrará paquetes en la sección utils que tienen grafica
interfaces (porque dependen de kits de herramientas gráficas o bibliotecas X11), y cuyo
la descripción contiene las palabras debian y paquete.

RAZÓN FUNDAMENTAL


Los usuarios de Debian pueden instalar software fácilmente con los comandos seleccionar or apt-get instalar.
Pueden elegir (en Debian 3.1 inestable) entre más de 30,000 paquetes. Encontrar el derecho
El paquete puede ser bastante difícil. Aunque los paquetes se clasifican en secciones básicas,
todavía hay demasiados paquetes y la lectura de todas las descripciones está fuera de discusión.

Los archivos de la base de datos son enormes y su sintaxis similar a la del correo hace que sea difícil buscarlos
herramientas orientadas a líneas como grep. Existen comandos como dpkg-iasearch(1) o
dpkg-dctrl(1) pero sus capacidades son limitadas. Herramientas gráficas de gestión de paquetes como
as aptitud or sináptica tienen capacidades de búsqueda. A pesar de que guacamayo puede llamar apto para instalar o
eliminar paquetes, su orientación es la de una potente herramienta de búsqueda. De hecho, el nombre guacamayo
proviene de la forma imperativa del verbo turco llamar que significa "buscar".

EL REINO UNIDO DEBIAN PAQUETE BASE DE DATOS


La base de datos de paquetes Debian es un archivo de texto enorme en / var / lib / dpkg / disponible (O un
colección de archivos de texto bajo / var / lib / apt / lists /). Estos archivos están en un buzón de correo
formato, y una entrada típica se ve así:

Prioridad: requerido
Sección: base
Tamaño instalado: 460
Origen: debian
Mantenedor: Dpkg Development[email protected]>
Errores: debbugs: //bugs.debian.org
Arquitectura: i386
Fuente: dpkg
Version: 1.10.24
Reemplaza: dpkg (<< 1.10.3)
Depende: libc6 (> = 2.3.2.ds1-4), ....
Nombre de archivo: pool / main / d / dpkg / dselect_1.10.24_i386.deb
Dimensiones: 119586
MD5sum: c740f7f68dab08badf4f60b51a33500a
Descripción: una herramienta de usuario para administrar paquetes Debian
dselect es la interfaz de usuario principal para instalar, eliminar y
administrar paquetes Debian. Es una interfaz para dpkg.

Por tanto, cada paquete se describe mediante un conjunto de campos (como Paquete, Descripción, Versión ...).

CONSULTA SINTAXIS Y SEMÁNTICA


Aquí describimos la sintaxis de la consulta con cierto detalle. A partir de la versión 1.0, guacamayo introduce nuevas,
sintaxis simplificada que es bastante tradicional y debería ser familiar para cualquiera que haya usado
los motores de búsqueda. Los términos de búsqueda se combinan simplemente con Y, OR y NO operadores booleanos.
Echando un vistazo al EJEMPLOS sección al final de este manual debe proporcionarle una
punto de partida.

Considere el conjunto D de las descripciones de paquetes Debian contenidas en el archivo
/ var / lib / dpkg / disponible (o en archivos bajo / var / lib / apt / lists /). Cada descripción es una
conjunto de parejas de la forma (f, v) donde f y v son cadenas: f es el nombre del campo
(a saber, Contenido del Paquete, Descripción, Nombre del archivo, Depende, etc.); v es su valor. Por lo tanto D es un conjunto
de conjunto de parejas, formando el universo. Las consultas seleccionan subconjuntos del universo D.
Las opciones de salida seleccionan qué campos de la parte seleccionada del universo mostrar y
cómo mostrarlos.

Consultas
A pregunta es una combinación booleana de expresiones atómicas. Un atómico expresión selecciona un
subconjunto del conjunto D de descripciones. Yo llamo a este conjunto el sentido de la expresión; si e
denota una expresión atómica, su significado se denota por [e]. El significado de un booleano
combinación de expresiones atómicas es solo la combinación booleana del significado de su
constituyentes. En otras palabras, si e1 y e2 son expresiones atómicas, entonces e1 & e2 es un
consulta, cuyo significado es la intersección de los significados de e1 y e2; y el significado de
e1 | e2 es la unión de los significados de e1 y e2.

Atómico expresiones
Las expresiones atómicas pueden ser de las formas patrón, / regexp /, cadena_citada, fieldpec
operador1 cadenao fieldpec operador2 regexp.

Boolean operadores y constante
e1 & e2 (también e1 Y e2, e1 y e2)
Esta es una conjunción lógica (intersección de conjuntos). Devuelve la intersección de [e1].
y [e2], es decir, paquetes que satisfacen tanto e1 como e2.

e1 | e2 (también e1 OR e2, e1 or e2)
Esta es la disyunción lógica (unión de conjuntos). Unión de [e1] y [e2], es decir, bultos
satisfaciendo e1, e2 o ambos.

! e1 (también NO e1, no e1)
Esta es la negación lógica (complementación de conjuntos). Complemento de [e1], es decir, paquetes
no satisfaciendo e1.

Ten en cuenta que ~ representa el especificador de campo predeterminado actual y no es un
alias para el operador de complementación.

verdadero (también todos)
El conjunto de todas las descripciones, es decir, todos los paquetes.

false (también ninguno)
El conjunto vacío, es decir, sin paquetes.

Campo especificadores
Un especificador de campo fieldpec es una lista de patrones de campo separados por comas.

Los patrones de campo son como patrones simples de caparazón y pueden contener caracteres de estrella (que
significa cualquier cosa) o signos de interrogación (que representan cualquier carácter). Son
no distingue entre mayúsculas y minúsculas. Especifican un conjunto de campos.

Por ejemplo: descripción y Descripción especificar el conjunto de campos { Descripción }, mientras que
Delaware* especifica { Descripción, Depende }.

El especificador especial ~ denota el especificador predeterminado actual (ver más abajo).

Current campos especificadores y simplificado atómico expresiones
La necesidad de repetir el especificador de campo puede hacer que la sintaxis anterior sea engorrosa. Es por eso que
hay un corriente campo especificador. El campo actual especificado es, por defecto,
Descripción, paquete. Las expresiones atómicas simplificadas son simplemente palabras o caparazón simplificado
expresiones (que no necesitan estar entre comillas dobles) y se buscan en
campos en el especificador de campo actual. Pueden estar formados por letras, dígitos, guiones bajos,
guiones y puntos. Pueden contener estrellas de signos de interrogación que se interpretan como
patrones de campo (es decir, como expresiones de shell simplificadas). Si se utilizan comillas dobles, otras
Se pueden utilizar caracteres y espacios.

El especificador de campo predeterminado en una consulta pregunta se puede cambiar a fieldpec simplemente
prefijando la consulta con especificación de campo:. Esto da fieldspec: consulta. Sin embargo, si pregunta is
complejo (es decir, contiene operadores booleanos binarios) que debe incluir pregunta in
paréntesis, como en fieldspec: (consulta1 or consulta2).

Cordón literales
Cordón literales se puede dar con o sin comillas dobles; sin comillas dobles, el
la sintaxis es como para los identificadores de C, excepto que puede usar guiones, debe comenzar con un
letra latina[a-zA-Z]) y puede continuar con letras latinas, dígitos decimales o
guion bajo ([a-zA-Z0-9_]). Dentro de las comillas dobles, se permiten todos los caracteres, excepto
comillas dobles, que deben ir precedidas de una barra invertida.

Variables
Los resultados de las consultas se pueden almacenar en variables, que se pueden recuperar más tarde. Esto no es
muy útil en el modo por lotes, pero es útil en los modos interactivo y gráfico.

Los nombres de las variables comienzan con un dólar y siguen las convenciones habituales para las variables, es decir,
puede ser cualquier combinación de caracteres alfanuméricos y símbolos como guión bajo, guión, etc.

Los nombres de las variables distinguen entre mayúsculas y minúsculas para que $ Instalado y $ instalado son diferentes.

Para asignar el resultado de una consulta (que es un conjunto de paquetes) una variable llamada $ variable
solo ejecuta la consulta $ variable := pregunta. A continuación, puede recordar este conjunto particular por
simplemente escribiendo $ variable.

Ejemplo: $ instalado := estado: (instalado & !no instalado)

telecomunicaciones
Los operadores de comparación jerárquica se pueden negar cambiando la dirección del ángulo
corchetes y agregar o quitar un signo de igualdad al final (<= se convierte en >). Otros operadores
se niegan de la siguiente manera: = se convierte en != y =~ se convierte en ! ~.

fieldspec = cadena
Expresión atómica seleccionando paquetes que tienen un campo en fieldpec tener un valor a
valor exactamente igual a cadena.

fieldpec (especificación de campo <= cadena, fieldespec> cadena, fieldspec> = cadena)
Expresión atómica seleccionando paquetes que tienen un campo en fieldpec cuyo valor es
estrictamente menor que cadena. El orden utilizado es el orden de versiones de Debian. Esta
el orden es compatible con el orden natural en enteros y con la versión de Debian
números. Al comparar cadenas que no contienen caracteres especiales, las letras se ordenan
antes de los números, a diferencia del orden ASCII lexicográfico al que estamos acostumbrados. Esto significa
que los números hexadecimales (como las sumas MD5) no tendrán su orden habitual.

Tenga en cuenta que cadena debe estar en el lado derecho del operador (es decir, no puede escribir
1000 < Tamaño).

fieldspec =~ / expresión / (también especificación de campo: / expresión /)
Selecciona descripciones cuyo campo se llama fieldpec existe y cuyo valor coincide,
distingue entre mayúsculas y minúsculas, la expresión regular expresión.

fieldspec =~ / expresión / i (también especificación de campo: / expresión / i)
Igual que el anterior, pero la expresión regular no distingue entre mayúsculas y minúsculas.

fieldspec =~ / expresión / w (también especificación de campo: / expresión / w)
Igual que el anterior, pero la expresión regular distingue entre mayúsculas y minúsculas y solo coincide con
límites de palabras. Tenga en cuenta que las transiciones de letra a dígito o de dígito a letra son
considerados límites de palabras.

fieldspec =~ / expresión / iw (también especificación de campo: / expresión / iw)
La expresión regular aquí no distingue entre mayúsculas y minúsculas y coincide con los límites de las palabras.

Regular expresiones
Las expresiones regulares se dan entre un par de barras; la última barra puede ir seguida de
una secuencia conmutativa de letras que denotan banderas. La sintaxis de las expresiones regulares es similar a sed:
la agrupación de paréntesis y la alternancia deben tener barra invertida. Para obtener más detalles, consulte la
Capítulo del manual de Objective Caml sobre el módulo Str. En breve (x,x1,x2 son meta-símbolos
que denota expresiones regulares):

/./ Cualquier personaje.

/ toto / Toto de cadena literal.

/ x1x2 / Concatenación.

/ x1 \ | x2 /
Alternancia.

\ (x1 \) *
Cierre estrella.

[CD] Rango de caracteres.

\b Límites de palabras.

/ x / i No distingue entre mayúsculas y minúsculas.

/ x / w En los límites de las palabras.

Observación
La mayoría de las consultas contendrán una cantidad apreciable de metacaracteres de shell. Por ejemplo,
La disyunción lógica se denota mediante el carácter de tubería, que es utilizado por todos los shells conocidos.
El problema se agrava por el hecho de que es probable que los nombres de los comandos reales aparezcan en
las expresiones utilizadas; Por lo tanto, la configuración exitosa de una tubería UNIX por error es
plausible.

Al llamar guacamayo desde la línea de comando en modo por lotes, se le recomienda encarecidamente que proteja
sus consultas rodeándolas con comillas simples; nunca escribas algo como guacamayo
Paquete * =~ / detener| reiniciar | apagar / ya que esto probablemente reiniciará su sistema (y es
sintaxis de expresión regular incorrecta, si alto or reiniciar or cierre significa: las tuberías deben ser
barra invertida). En cambio, uno debería escribir guacamayo 'Paquete * =~ / detener\ | reiniciar \ | apagar /'

CAMPUS


Operación
-interactivo, -i
Modo interactivo ; solicitar una consulta, mostrarla.

-config (También por Xara)
Establecer el nombre del archivo de configuración (predeterminado $ INICIO / .ara / ara.config).

-noconfig
No intente crear un archivo de configuración.

-no historia
No guarde el historial de comandos

Ayuda opciones
-ayuda (También por Xara)
Muestra algo de ayuda

-sobre Muestre derechos de autor, agradecimiento y dedicación.

-versión, -sobre (También por Xara)
Imprima autor, licencia, versión y dedicación (y salga si se llama desde CLI).

-ejemplos
Muestra algo de documentación, incluidos ejemplos, exit.

-q
Consulta (por ejemplo, depende: xlibs &! Paquete: xcalc).

-consulta
Ídem.

Opciones a respecto a a las terminal
-Progreso (-sin progreso)
Muestra o no muestra el indicador de progreso al cargar la base de datos.

-líneas
Establezca la altura del terminal para la visualización interactiva. Por defecto, esto se toma de la
Variable ambiental LÍNEAS o como 25 si no está definido.

-columnas
Establecer el ancho de la terminal para la visualización interactiva. Por defecto, esto se toma de la
Variable ambiental COLUMNAS o como 25 si no está definido.

-buscapersonas (-no buscapersonas)
Utilice (o no utilice) un buscapersonas que muestre una salida larga en modo interactivo. El buscapersonas
El comando está definido en el archivo de configuración. $ INICIO / .ara / ara.config. Por defecto
esto es / etc / alternativas / pager. El buscapersonas solo se usa cuando el tamaño de salida
excede la altura del terminal.

-depurar (También por Xara)
Habilitar la información de depuración

-nivel de depuración (También por Xara)
Establecer el nivel de depuración (más alto es más detallado, el máximo es 100, el predeterminado es 10)

Pantalla estilos
-nuevo Muestra solo la versión más reciente de cada paquete.

-antiguo Enumere todas las versiones de los paquetes.

-corto
Muestra los nombres de los paquetes que satisfacen la consulta (y su versión si -antiguo está configurado), con
varios paquetes por línea.

-lista
Lo mismo, pero muestra un nombre de paquete por línea y sin llaves (predeterminado).

-crudo
Para cada paquete que satisfaga la consulta, muestre todos los campos seleccionados.

-mesa
Muestra los resultados como una tabla.

-sin Fronteras
No dibuje bordes ASCII para salida tabular.

-fronteras
Dibuje bordes ASCII para salida tabular.

-contar
Muestra el número de paquetes coincidentes.

-los campos
Limite la salida a campos especificados. Los especificadores de ancho opcionales se utilizan con el
-mesa opción y se ignora en caso contrario. Use * para mostrar todos los campos (pero recuerde
escapar del personaje estrella de su caparazón).

-ast Vuelque el árbol de sintaxis abstracta de consultas analizadas en stderr.

EJEMPLOS


guacamayo 'Sección = utils'
Enumere el nombre de cada paquete en la sección utils.

guacamayo 'Sección = utils y ! Depende: (gnomo | kde | gtk) '
... excepto aquellos cuyo campo de dependencia coincide con la expresión regular gnome \ | kde \ | gtk

guacamayo -lista 'Sección = utils y Estado: (instalado & !no instalado)'
Enumere todos los paquetes instalados en la sección utils.

guacamayo -corto 'sección = utils y ! depende: (gtk | gnome | kde) y prioridad = opcional '
... enumera varios nombres por línea y muestra solo los paquetes opcionales.

guacamayo -corto 'sección = utils & (! depende: (gtk | gnome | kde) | tamaño <100000) & prioridad = opcional '
Bueno, excluya gtk, gnome o kde solo si son 100000 bytes o más.

guacamayo -sin Fronteras -los campos Paquete, tamaño, mantenedor: 20 -mesa \
-corto 'sección = utils & (! depende: (gtk | gnome | kde) | tamaño <100000) & prioridad = opcional '

... muestre los campos Paquete, Tamaño y Mantenedor de los resultados anteriores como un buen ascii
tabla, limitando el campo del mantenedor a 20 caracteres, pero sin bordes ASCII burdos.

guacamayo -antiguo -los campos Paquete: 8, tamaño, descripción: 100 \
-mesa 'Sección = juegos y no (Depende: (gtk | sdl | kde | opengl | gnome | qt)
or / disparar \ | matar \ | destruir \ | explosión \ | carrera \ | bomba / iw
or / multi \ (- \ | \) jugador \ | estrategia \ | conquista \ | 3 \ (- \ | \) d / iw)
y Depende: (xlibs or vga)
y Tamaño <= 1000000 '

Suponiendo una pantalla de 125 columnas, muestre los primeros ocho caracteres del nombre del paquete, el
tamaño en bytes, y los primeros cien caracteres de la (primera línea) de la descripción de
todos los paquetes de la sección de juegos cuyo tamaño no supere el millón de bytes, y
que no dependen de cosas sofisticadas como GTK, SDL, KDE, OpenGL, Qt o Gnome, no menciones
alguna forma de violencia (disparar, matar, etc.) en su descripción, no se describen
como multijugador, estrategia, conquista o tridimensional y, sin embargo, depende de xlibs
o svga para excluir los juegos basados ​​en consola.

SPEED


guacamayo lee toda la base de datos en la memoria y luego procesa las consultas. Dado que la base de datos es
generalmente grande, esto lleva algo de tiempo. Sin embargo, las consultas se ejecutan con bastante rapidez. Así que especifica
múltiples consultas o utilice el -interactivo opción de amortizar el costo de lectura del
base de datos.

Utilice ara en línea utilizando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

  • 1
    limpieza profunda
    limpieza profunda
    Un script de Kotlin que destruye todas las compilaciones
    cachés de proyectos Gradle/Android.
    Útil cuando Gradle o el IDE le permiten
    abajo. El script ha sido probado en
    macOS, pero...
    Descargar limpieza profunda
  • 2
    Complemento Eclipse Checkstyle
    Complemento Eclipse Checkstyle
    El complemento Eclipse Checkstyle
    integra el código Java Checkstyle
    auditor en el IDE de Eclipse. El
    El complemento proporciona retroalimentación en tiempo real a
    el usuario sobre viola ...
    Descargar el complemento Checkstyle de Eclipse
  • 3
    AstrOrzPlayer
    AstrOrzPlayer
    AstrOrz Player es un reproductor multimedia gratuito
    software, parte basado en WMP y VLC. los
    jugador tiene un estilo minimalista, con
    más de diez colores temáticos, y también puede
    b ...
    Descargar AstrOrzPlayer
  • 4
    movistartv
    movistartv
    Kodi Movistar+ TV es un ADDON para XBMC/
    Kodi que permite deshacerse de un
    decodificador de los servicios IPTV de
    Movistar integrado en uno de los
    mediacenters ma...
    descargar movistartv
  • 5
    Código :: Bloques
    Código :: Bloques
    Code::Blocks es un programa gratuito, de código abierto,
    IDE multiplataforma C, C++ y Fortran
    construido para satisfacer las necesidades más exigentes
    de sus usuarios. Está diseñado para ser muy
    extens ...
    Descargar Código::Bloques
  • 6
    En medio de
    En medio de
    Interfaz de Minecraft en medio o avanzada
    y el seguimiento de datos / estructura es una herramienta para
    mostrar una descripción general de un Minecraft
    mundo, sin realmente crearlo. Eso
    puede ...
    Descargar en medio
  • Más "

Comandos de Linux

Ad