Wie sucht man nach allen Man-Dateien, die bestimmte Schlüsselwörter enthalten?

Wie sucht man nach allen Man-Dateien, die bestimmte Schlüsselwörter enthalten?

Ich möchte lernen, wie man nach einer Datei sucht, indem man den Inhalt als Parameter angibt. Anschließend kann ich die Lösung anwenden, um nach Befehlen zu suchen, die Richard Stallman beigesteuert hat (über Manpages).

Antwort1

Ausman 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.

Kombiniert:

man -wK 'Richard M Stllman'

Allerdings enthalten Manpages normalerweise nur Richard Stallman, mit unterschiedlichem Leerzeichen zwischen den beiden Wörtern, sodass ein regulärer Ausdruck angebracht sein könnte:

--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.

Also:

man --regex -wK 'Richard *Stallman' 

Antwort2

Dieser Befehl zeigt Ihnen die Dateinamen von Man-Dateien, die das Schlüsselwort enthalten Stallman:

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

Die Ausgabe in meiner 15.10 beginnt mit:

/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

Anschließend können Sie wie gewohnt mit man cat, man comm, usw. stöbern.

Antwort3

Diese Methode durchsucht nicht die gesamten Manpages nach einem Schlüsselwort, sondern nur den Titel und die Kurzbeschreibung jeder Manpage. Das wird in Ihrem Fall nicht ausreichen, ist aber nützlich, um schnell etwas nachzuschlagen. Wenn es nicht die gewünschten Ergebnisse liefert, müssen Sie @ verwenden.philipp'SAntwort.

Du kannst den ... benutzenaproposBefehl zum schnellen Durchsuchen der Titel und Beschreibungen aller installierten Manpages nach einem Schlüsselwort:

$ 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

Sie können die Beschreibung einer bekannten Manpage wie folgt anzeigen whatis:

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

Wie gesagt, diese Methode durchsucht nicht den gesamten Manpage-Text und apropos Stallmangibt daher nichts zurück ...

verwandte Informationen