man en linux

raul84

wenas, aver si me explico bien.
Quiero una expresion para utilizar en la linea de comandos que me busque una cadena de texto, que yo le de, en el manual de "man".
Es decir que yo por ejemplo ponga "fichero" y me busque todos los manuales de man que contengan esa palabra. Creo que se hace con grep pero no se como.

S

man grep

Tenía que decirlo xD

zgrep "fichero" /usr/share/man///*

PD: Creo que hay suficientes asteriscos. Ve cambiándolos si lo necesitas, o haz el grep en el directorio concreto de tu idioma/sección/loquesea.

Edit:

Algo más depuradito.

perl -e '@files = split /\n/, find /usr/share/man; for $i (@files) { $d = zgrep \"fichero\" $i; print "===============\n$i\n===============\n$d\n\n" if ($d)}'

raul84

graciass

Sandevil

#2 No se si me gusta mas tu primera opcion, man grep, o tu segunda opcion xDD

Lo tercera es bonita, pero un pelin ofuscada..

aps otra aportacion xD:

ls /usr/share/man/// | grep fichero

Ains.. es lo bonito de linux.. cada cual se puede limpiar el culo como se invente xDDDD

P.D.:Estaria bien crear un post, en el que se hicieran preguntas que exigieran concatenar comandos o el uso de pequeños scripts, y que cada uno intentara dar una solucion distinta a las demas xDD

Editado: Uops, ahora que me he dado cuenta del que "contengan"

S

#4 Claro, ahí está la chicha xD

Y

Hay otra bonita grep -R "fichero" /usr/share/man/* y te busca recursivamente

S

#6 Fue lo primero que probé, pero es que las man, habitualmente, están comprimidas con gzip.

Y

bueno las opciones de grep y zgrep son las mismas. zgrep -R /usr/share/man/*

S

Pues mi zgrep no tiene -R xD

Y

En el man pone que grep y zgrep son las mismas. Pruebalo y verás que funciona (es más, si no tuviera, te pondría error de opción)

S

zenture@amsterdam> zgrep -R pepito . ~
[1] zenture@amsterdam>

(el 1 es que hace return 1, error)

En man a mí me salen distintas (Gentoo). Sin embargo en el grep de FreeBSD y OpenBSD sí que es el mismo binario. ¿Qué distro usas?

Usuarios habituales