Me gustaría buscar páginas de manual que contengan TODAS las palabras 'foo', 'bar' y 'baz'.
Si es posible, me gustaría buscar en todo el texto (no solo el nombre y la descripción) de todas las páginas del manual.
Estoy adivinando algo como
man -K foo AND bar AND baz
Respuestas:
Implementé un script que hace exactamente esto.
Supongo que fue una pérdida de tiempo :(
Editar: Parece que
no funcionó?
Editar: puede pasar los scripts ahora sus términos de búsqueda a través de
./script foo bar
fuente
or
, solo pensé que eraand
porque no lo probé correctamente.Algunas reflexiones sobre este script:
Utilizando
manpath
para obtener la (s) ubicación (es) de las páginas man. Si agrego/home/graeme/.cabal/bin
a miPATH
,manpath
(yman
) encontrará páginas de manual en/home/graeme/.cabal/share/man
.Use man para descomprimir y formatear las páginas antes de buscar, de esta manera solo está buscando el texto man y no ningún comentario, etc. en el archivo sin formato. El uso
man
potencialmente tratará con múltiples formatos.Guardar las páginas formateadas en un archivo temporal evitará múltiples descompresiones y debería acelerar las cosas significativamente.
Aquí va (con
bash
y GNU encontrar):fuente
No es tan completo como la respuesta de @ polym, pero iba a sugerir algo como
Tenga en cuenta que agregué un
-w
interruptor (coincidencia de palabras) algreps
- que puede no ser lo que desea (¿desea incluir coincidencias como foo lish y nut bar ?)fuente
Este enfoque no se ha probado pero es bastante simple (estúpido simple) y espero que funcione, incluso si es ineficiente:
fuente