
Quiero aprender a buscar un archivo dando el contenido que contiene como parámetro. Luego puedo aplicar la solución para buscar comandos aportados por Richard Stallman (a través de páginas de manual).
Respuesta1
Deman man
:
-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.
Conjunto:
man -wK 'Richard M Stllman'
Aunque las páginas de manual normalmente tienen solo Richard Stallman
, con una cantidad variable de espacio entre las dos palabras, una expresión regular podría ser apropiada:
--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.
Entonces:
man --regex -wK 'Richard *Stallman'
Respuesta2
Este comando le mostrará los nombres de los archivos man que contienen la palabra clave Stallman
:
zgrep -l Stallman /usr/share/man/man?/*
La salida en mi 15.10 comienza con:
/usr/share/man/man1/cat.1.gz
/usr/share/man/man1/comm.1.gz
/usr/share/man/man1/ctags.1.gz
/usr/share/man/man1/ctags.emacs24.1.gz
Luego, podrás navegar como de costumbre, con man cat
, man comm
, etc.
Respuesta3
Este método no busca una palabra clave en todas las páginas de manual, sino solo en el título y la breve descripción de cada página de manual. No será suficiente en su caso, pero será útil para buscar algo rápidamente. Si no arroja los resultados deseados, debe usar @philsf'srespuesta.
Puedes usar elapropos
comando para buscar rápidamente el título y la descripción de todas las páginas de manual instaladas para una palabra clave:
$ 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
Puede mostrar la descripción de una página de manual conocida usando whatis
:
$ whatis empathy
empathy (1) - GNOME multi-protocol chat and call client
Como dije, este método no buscará en todo el cuerpo de la página de manual, por lo tanto apropos Stallman
no devuelve nada...