1 votes

Une meilleure utilisation d'apropos pour la recherche dans le répertoire man

Je vais poser ma question en partant d'un exemple concret.

À partir de l'invite de la ligne de commande, je veux rechercher un outil de ligne de commande qui produira des informations sur ma carte à puce.

Note complémentaire : Je sais déjà que l'outil de ligne de commande que je recherche est le system_profiler SPSmartCardsDataType mais faisons comme si je ne le savais pas encore.

Étape 1 À l'invite de la ligne de commande, je tape ce qui suit : apropos smart card

Étape 2 Je reçois le résultat suivant :

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

Et bien sûr, je peux utiliser le SmartCardServices outil en ligne de commande mais ce n'est pas ce que je recherche.

Question : Comment puis-je améliorer la recherche d'un outil de ligne de commande spécifique ? Je suppose qu'une recherche qui interrogerait également les options de la ligne de commande ?

Dans mon cas spécifique, si je cherche le mot-clé carte à puce pourquoi le résultat ne me montre pas au moins le terme system_profiler ?

J'espère avoir été clair, sinon dites-le moi et je pourrai reformuler ma question. Une fois de plus, l'exemple ci-dessus n'est qu'un exemple. Carte à puce parce que c'est ce que j'ai eu du mal à chercher aujourd'hui, mais ça peut être n'importe quoi d'autre.

3voto

nohillside Points 82672

apropos ne regarde que la description de la commande, pas la page de manuel complète. Il n'y a pas de commandes spécifiques pour rechercher "intelligemment" dans toutes les pages de manuel, mais en cas de problème, vous pouvez toujours exécuter

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

PS : Cela n'aidera pas pour system_profiler mais parce que les types de données supportés ne sont pas du tout listés dans la page de manuel.

1voto

Douglas Points 10417

Comment puis-je améliorer la recherche d'un outil de ligne de commande spécifique ? Je suppose qu'une recherche qui interrogerait également les options de la ligne de commande ?

Le problème avec ce type de question est de qualifier ce qui constitue "une meilleure recherche". Il pourrait s'agir de la précision ou de la fréquence. En d'autres termes, il s'agirait de trouver un équilibre entre la quantité et la qualité des résultats.

Cela dit, il n'y a que peu de choses que vous obtiendrez du Sérarque. De la page de manuel apropos :

Search the whatis database for strings.

El whatis n'est rien d'autre qu'une base de données de brèves descriptions des commandes du système. Ce n'est pas une grande base de données complexe et rationnelle remplie de métadonnées pour chaque commande ; c'est ce que c'est.

En utilisant votre exemple de "carte à puce", vous obtenez les résultats que vous obtenez parce que ce sont les commandes où "carte à puce" apparaît dans la base de données des descriptions de commandes.

Pour obtenir de meilleurs résultats, vous devez donc faire preuve de souplesse avec vos mots clés et utiliser des synonymes pour les termes recherchés. Cela dit....

Vous pouvez éditer le contenu du fichier whatis avec cette commande

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

C'est tout. Il n'y a pas grand-chose à dire. apropos recherchera les mots-clés correspondants. Si ces mots-clés ne sont pas dans la base de données, vous n'obtiendrez pas de résultats.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X