Búsqueda de texto completo para páginas man


12

aproposfunciona muy bien para buscar nombres de páginas manuales y descripciones. ¿Existe un comando similar para buscar en todo el contenido de las páginas del manual?


Edité el título. Espero que eso lo aclare.
phunehehe

Respuestas:


13

Al usar el comando man man podemos ver que tenemos dos opciones.

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

Esto está en un sistema RHEL 5


2

Esto probablemente sea tarde. Pero acabo de completar mi proyecto Google Summer of Code para NetBSD y mi tarea era exactamente esto. Implementando búsqueda de texto completo para páginas man.

El código está aquí: https://github.com/abhinav-upadhyay/apropos_replacement

Aunque en este momento esto es solo para sistemas * BSD (NetBSD para ser precisos, pero debería funcionar con otros BSD con algunos pequeños ajustes) debido a algunas suposiciones hechas al escribir el código y no tengo una máquina Linux a mi alrededor para arreglar o puerto esto para trabajar en Linux.

Hay una interfaz web disponible en man-k.org


1

Dos opciones para ti. primero, puedes probar este script:

#!/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

guárdelo como searchman.sho algo así y, opcionalmente, hágalo ejecutable y péguelo en algún lugar de su $PATH. El solo corre sh searchman.sh <query>. (nota: acabo de juntar esto rápidamente ahora. Lo probé y parece que todo está bien, pero podría necesitar ajustes aquí y allá).

en segundo lugar, y especialmente si está usando Ubuntu, puede usar http://manpages.ubuntu.com/ - hay varias opciones de búsqueda de texto completo disponibles.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.