0 votos

Un mejor uso de apropos para buscar en el directorio man

Voy a plantear mi pregunta partiendo de un ejemplo real.

Desde el prompt de la línea de comandos, quiero buscar una herramienta de línea de comandos que arroje información sobre mi tarjeta inteligente.

Nota al margen: Ya sé que la herramienta de línea de comandos que estoy buscando es la system_profiler SPSmartCardsDataType pero hagamos como si no lo supiera todavía.

Paso 1 Desde la línea de comandos escribo lo siguiente: apropos smart card

Paso 2 Recibo el siguiente resultado:

SmartCardServices(7)     - overview of SmartCard support
SmartCardServices-legacy(7) - overview of legacy SmartCard support
com.apple.ifdreader(8)   - SmartCard reader daemon
ctkahp(8)                - SmartCard Agent
ctkbind(8)               - SmartCard pairing tool
ctkd(8)                  - SmartCard daemon/agent
pam_smartcard(8)         - Smartcard PAM module
ssh-keychain(8), ssh-keychain.dylib(8) - smartcard/keychain support library

Y, por supuesto, puedo utilizar el SmartCardServices herramienta de línea de comandos pero esto no es lo que estoy buscando.

Pregunta: ¿Cómo puedo mejorar la búsqueda de una herramienta de línea de comandos específica? ¿Supongo que una búsqueda que consulte también las opciones de la línea de comandos?

En mi caso concreto, si busco la palabra clave tarjeta inteligente por qué la salida no me muestra al menos el término system_profiler ?

Espero haber sido claro, si no es así hágamelo saber y puedo reformular mi pregunta. Una vez más, lo anterior es sólo un ejemplo, yo uso Tarjeta inteligente porque esto es lo que he tenido problema en la búsqueda de hoy, pero puede ser cualquier otra cosa.

2voto

apropos sólo busca en la descripción del comando, no en la página de manual completa. No hay comandos específicos para buscar "inteligentemente" dentro de todas las páginas man, pero en un aprieto siempre puedes ejecutar

cd /usr/share/man
zgrep -i smartcard man*/*

PD: Esto no servirá para system_profiler porque los tipos de datos soportados no están listados en la página de manual.

1voto

Douglas Puntos 10417

¿Cómo puedo hacer una mejor búsqueda de una herramienta de línea de comandos específica? ¿Supongo que una búsqueda que consulte también las opciones de la línea de comandos?

El problema con este tipo de preguntas es calificar lo que constituye "una mejor búsqueda". Podría ser la precisión o la frecuencia. Dicho de otro modo, sería algún punto de la línea que equilibra la cantidad y la calidad de los resultados.

Dicho esto, no hay mucho que se pueda obtener del serarca. De la página man de apropos :

Search the whatis database for strings.

El whatis no es más que una base de datos de descripciones breves de los comandos del sistema. No es una base de datos grande, compleja y racional llena de metadatos para cada comando; es lo que es.

Utilizando tu ejemplo de "tarjeta inteligente", obtienes los resultados que obtienes porque esos son los comandos en los que "tarjeta inteligente" aparece en la base de datos de descripciones de comandos.

Por lo tanto, para obtener mejores resultados, es conveniente ser flexible con las palabras clave y utilizar sinónimos de los términos que se buscan. Dicho esto....

Puede imprimir el contenido del whatis base de datos con este comando

whatis ' ' | egrep '\(1\)'|sort

Eso es. No hay mucho que hacer. apropos buscará estas palabras clave coincidentes. Si esas palabras clave no están en la base de datos, no obtendrá resultados.

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