Wie suche ich nach allen Man-Dateien, die ein bestimmtes Schlüsselwort enthalten?
8
Ich möchte lernen, wie man nach einer Datei sucht, indem ich den Inhalt darin als Parameter gebe. Ich kann die Lösung dann anwenden, um nach Befehlen von Richard Stallman zu suchen (über Manpages).
Die Antwort unten ist perfekt für das, was Sie im Titel fragen. Beachten Sie jedoch, dass das Durchsuchen komprimierter manSeiten nicht mit dem Durchsuchen von Text- / Binärdateien identisch ist (für diejenigen, die die regulären verwenden möchten grep).
Kos
@kos guter Punkt. Ich habe versucht, die Frage zu bearbeiten, um "Mann" hinzuzufügen, aber sie unterschreitet die Grenze, also lasse ich sie los;)
philsf
@philsf Nach der Inkonsistenz in der Frage zu urteilen, nahmen sie anscheinend an, dass es so oder so dasselbe sein würde; Sie könnten zIhrer Antwort trotzdem "Entfernen Sie die für nicht gzip-komprimierte Dateien" hinzufügen ;)
kos
1
Nur Manpages oder Dateien im Allgemeinen?
Muru
Eigentlich beides ... Ich wollte alle Befehle von Stallman kennenlernen. Ich kann die Lösung natürlich auch für allgemeine Dateien verwenden
juggernauthk108
Antworten:
11
Dieser Befehl zeigt Ihnen die Dateinamen von Man-Dateien an, die das Schlüsselwort enthalten Stallman:
-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'
Obwohl Manpages normalerweise nur Richard Stallmaneinen variablen Abstand zwischen den beiden Wörtern haben, kann ein regulärer Ausdruck angebracht sein:
--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.
Diese Lösung verwendet nur das vorgesehene Werkzeug ( man) und ist daher viel eleganter als meine. Diese Antwort sollte akzeptiert werden.
Philsf
3
Diese Methode durchsucht nicht die gesamten Manpages nach einem Schlüsselwort, sondern nur den Titel und die Kurzbeschreibung jeder Manpage. In Ihrem Fall reicht es nicht aus, aber es ist nützlich, schnell etwas nachzuschlagen. Wenn es nicht die gewünschten Ergebnisse nicht zurückgibt, müssen Sie @ verwenden philsf ‚s Antwort .
Mit dem aproposBefehl können Sie schnell den Titel und die Beschreibung aller installierten Manpages nach einem Schlüsselwort durchsuchen:
$ 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 anzeigen, indem Sie whatis:
man
Seiten nicht mit dem Durchsuchen von Text- / Binärdateien identisch ist (für diejenigen, die die regulären verwenden möchtengrep
).z
Ihrer Antwort trotzdem "Entfernen Sie die für nicht gzip-komprimierte Dateien" hinzufügen ;)Antworten:
Dieser Befehl zeigt Ihnen die Dateinamen von Man-Dateien an, die das Schlüsselwort enthalten
Stallman
:Die Ausgabe in meinem 15.10 beginnt mit:
Dann können Sie wie gewohnt sehen, mit
man cat
,man comm
etc.quelle
Von
man man
:Kombiniert:
Obwohl Manpages normalerweise nur
Richard Stallman
einen variablen Abstand zwischen den beiden Wörtern haben, kann ein regulärer Ausdruck angebracht sein:Damit:
quelle
man
) und ist daher viel eleganter als meine. Diese Antwort sollte akzeptiert werden.Diese Methode durchsucht nicht die gesamten Manpages nach einem Schlüsselwort, sondern nur den Titel und die Kurzbeschreibung jeder Manpage. In Ihrem Fall reicht es nicht aus, aber es ist nützlich, schnell etwas nachzuschlagen. Wenn es nicht die gewünschten Ergebnisse nicht zurückgibt, müssen Sie @ verwenden philsf ‚s Antwort .
Mit dem
apropos
Befehl können Sie schnell den Titel und die Beschreibung aller installierten Manpages nach einem Schlüsselwort durchsuchen:Sie können die Beschreibung einer bekannten Manpage anzeigen, indem Sie
whatis
:Wie gesagt, diese Methode durchsucht nicht den gesamten Manpage-Body, gibt also
apropos Stallman
nichts zurück ...quelle