web-dev-qa-db-fra.com

Comment rechercher tous les fichiers man contenant certains mots clés?

Je veux apprendre à rechercher un fichier en lui donnant le contenu en paramètre. Je peux ensuite appliquer la solution pour rechercher des commandes fournies par Richard Stallman (au moyen de pages de manuel).

7
juggernauthk108

Cette commande vous montrera les noms de fichiers des fichiers man contenant le mot clé Stallman:

zgrep -l Stallman /usr/share/man/man?/*

La sortie dans mon 15.10 commence par:

/usr/share/man/man1/cat.1.gz
/usr/share/man/man1/comm.1.gz
/usr/share/man/man1/ctags.1.gz
/usr/share/man/man1/ctags.emacs24.1.gz

Ensuite, vous pouvez naviguer comme d’habitude avec man cat, man comm, etc.

11
philsf

De man man :

_-K, --global-apropos
      Search for text in all manual  pages.   This  is  a  brute-force
      search,  and is likely to take some time; if you can, you should
      specify a section to reduce the number of pages that need to  be
      searched.   Search terms may be simple strings (the default), or
      regular expressions if the --regex option is used.

-w, --where, --location
      Don't actually display  the  manual  pages,  but  do  print  the
      location(s) of the source nroff files that would be formatted.
_

Combiné:

_man -wK 'Richard M Stllman'
_

Bien que les pages de manuel aient généralement juste _Richard Stallman_, avec une quantité d'espace variable entre les deux mots, une expression régulière pourrait donc être appropriée:

_--regex
      Show all pages with any part of  either  their  names  or  their
      descriptions   matching   each   page   argument  as  a  regular
      expression, as with  apropos(1).   Since  there  is  usually  no
      reasonable  way  to  pick  a  "best"  page  when searching for a
      regular expression, this option implies -a.
_

Alors:

_man --regex -wK 'Richard *Stallman' 
_
7
muru

Cette méthode ne recherche pas un mot-clé dans les pages de manuel entières, mais uniquement le titre et la description courte de chaque page de man. Ce ne sera pas suffisant dans votre cas, mais utile pour rechercher rapidement quelque chose. S'il ne renvoie pas les résultats souhaités, vous devez utiliser le @ philsfanswer .

Vous pouvez utiliser la commande apropos pour rechercher rapidement dans le titre et la description de toutes les pages de manuel installées un mot clé:

$ apropos chat
chat (8)             - Automated conversational script with a modem
chattr (1)           - change file attributes on a Linux file system
empathy (1)          - GNOME multi-protocol chat and call client

Vous pouvez afficher la description d'une page de manuel connue à l'aide de whatis:

$ whatis empathy
empathy (1)          - GNOME multi-protocol chat and call client

Comme je l'ai dit, cette méthode ne va pas chercher dans tout le corps de la page de manuel, donc apropos Stallman ne retourne rien ...

3
Byte Commander