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).
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.
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'
_
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 ...