Volltextsuche nach Manpages

12

aproposfunktioniert hervorragend für die Suche nach manuellen Seitennamen und Beschreibungen. Gibt es einen ähnlichen Befehl zum Durchsuchen des gesamten Inhalts der Handbuchseiten?

phunehehe
quelle
Ich habe den Titel bearbeitet. Hoffe das macht es klarer.
Phunehehe

Antworten:

13

Mit dem Kommando man man können wir sehen, dass wir zwei Möglichkeiten haben.

   -k     Equivalent to apropos.

   -K     Search  for  the  specified  string in *all* man pages. Warning:
          this is probably very slow!  It  helps  to  specify  a  section.
          (Just  to  give  a  rough idea, on my machine this takes about a
          minute per 500 man pages.)

Dies ist auf einem RHEL 5-System

user5600
quelle
2

Das ist wahrscheinlich zu spät. Aber ich habe gerade mein Google Summer of Code-Projekt für NetBSD abgeschlossen und meine Aufgabe war genau dies. Implementierung der Volltextsuche für Manpages.

Der Code ist hier: https://github.com/abhinav-upadhyay/apropos_replacement

Obwohl dies im Moment nur für * BSD-Systeme (NetBSD, um genau zu sein, sollte aber mit anderen BSD-Systemen mit einigen kleinen Anpassungen funktionieren), da einige Annahmen beim Schreiben des Codes gemacht wurden und ich keinen Linux-Rechner habe, um sie zu reparieren oder zu reparieren portieren Sie dies für die Arbeit unter Linux.

Auf man-k.org steht dafür ein Webinterface zur Verfügung

Abhinav Upadhyay
quelle
1

zwei Möglichkeiten für Sie. Zuerst können Sie dieses Skript ausprobieren:

#!/bin/bash
for MANFILE in /usr/share/man/man?/*
do
    found=`zcat $MANFILE | grep -c "$1"`
    if [ $found -gt 0 ]; then
        echo "------ Found in $MANFILE"
        man -P cat $MANFILE | grep --color=auto "$1"
    fi
done

Speichern Sie es als searchman.shoder als solches, und machen Sie es optional ausführbar und stecken Sie es irgendwo in Ihr Verzeichnis $PATH. Das läuft einfach sh searchman.sh <query>. (Anmerkung: Ich habe das gerade schnell zusammengeschraubt. Ich habe es getestet und es scheint alles gut zu sein, aber es muss hier und da möglicherweise angepasst werden.)

Zweitens, und insbesondere wenn Sie Ubuntu verwenden, können Sie http://manpages.ubuntu.com/ verwenden. Es stehen eine Reihe von Volltextsuchoptionen zur Verfügung.

simon
quelle