3 votos

¿Cómo buscar un paquete homebrew por URL con el comando `brew`?

A veces es conveniente buscar un paquete por la URL de su página de inicio en lugar de por su nombre.
He encontrado que es posible utilizando la búsqueda en Página de inicio de Homebrew .

La pregunta es: ¿cómo hacer esto con el brew ¿comando?

He intentado brew search como el siguiente, pero parece incapaz de buscar por una URL.

brew search https://sqlitebrowser.org/

0 votos

Ya existe un QA para esto como puede ver aquí

0 votos

@fabolous05 Quiero buscar paquetes por su URL mediante el comando brew . ¿Qué respuesta considera que responde a mi pregunta?

1voto

wch1zpink Puntos 11

Puede que no sea la solución ideal. Sin embargo, después de seguir estos pasos, podrá buscar brew formulaes por URL.

Pegue lo siguiente AppleScript en un nuevo script Editor.app documento.
(He llamado a mi versión "Brew_Master_List_Formulaes_Cataloger.scpt")

Este AppleScript creará dos archivos de texto en su escritorio. ("Brew_Formulaes_List.txt" y "Brew_Formulaes_Info.txt")

enter image description here1

enter image description here2

property brewFormulae : POSIX path of (path to desktop) & "Brew_Formulaes_List.txt"
property brewFormulaesInfo : POSIX path of (path to desktop) & "Brew_Formulaes_Info.txt"

do shell script "/usr/local/bin/brew formulae > " & quoted form of brewFormulae

try
    do shell script "rm -f " & quoted form of brewFormulaesInfo
end try

set brewItemInfo to reverse of rest of reverse of paragraphs of (read brewFormulae)

repeat with i in brewItemInfo
    do shell script "/usr/local/bin/brew info " & quoted form of i & ¬
        " |sed '1,3!d' >> " & quoted form of brewFormulaesInfo
    do shell script "echo ' '" & " >> " & quoted form of brewFormulaesInfo
end repeat

NOTA: El archivo "Brew_Formulaes_Info.txt" puede tardar hasta 3 horas en completarse.

Una vez creado su "Brew_Formulaes_Info.txt", ahora puede buscar por URL, utilizando el "Brew_Formulaes_Info.txt" como fuente.

En Terminal.app , cambie su pwd (directorio de trabajo actual) a su Escritorio con este comando cd ~/Desktop (porque aquí es donde se encuentra su "Brew_Formulaes_Info.txt")

Ahora, por ejemplo, la URL que quieres buscar contiene "advancemame.it/scan-readme.html" (obtendrás mejores resultados omitiendo el http:// o https:// o www.), tus comandos de búsqueda en Terminal serían...

grep -ERIhi -B2 'advancemame.it/scan-readme.html' Brew_Formulaes_Info.txt

El resultado debería ser algo así... enter image description here3

Utilizando su URL de ejemplo...

grep -ERIhi -B2 'https://sqlitebrowser.org/' Brew_Formulaes_Info.txt

no dio resultados, pero...

grep -ERIhi -B2 'sqlite.org' Brew_Formulaes_Info.txt devuelto

enter image description here4

1voto

Homebrew proporciona archivos JSON para todas las fórmulas del núcleo y del barril .

Así que podría instalar jq para usar algo como

curl -s https://formulae.brew.sh/api/formula.json | \
    jq -r '.[] | select(.homepage | contains("sqlite.org")) | [ .name, .desc ] | join(": ")'

dbhash: Computes the SHA1 hash of schema and content of a SQLite database
sqldiff: Displays the differences between SQLite databases
sqlite: Command-line interface for SQLite
sqlite-analyzer: Analyze how space is allocated inside an SQLite file

Si quiere saltarse el jq dependencia y asumir que el formato de los archivos JSON no cambiará

curl -s https://formulae.brew.sh/api/formula.json | \
    sed -E -n 's|^.*"name":"([^"]+)".*sqlite.org.*|\1|p'

también lo hará.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X