ファイル内のコンテンツをパラメーターとして指定して、ファイルを検索する方法を学びたいです。次に、このソリューションを適用して、Richard Stallmanによって提供されたコマンドを検索します(manページを使用)。
このコマンドは、キーワードStallman
を含むmanファイルのファイル名を表示します。
zgrep -l Stallman /usr/share/man/man?/*
15.10の出力は次で始まります。
/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
その後、man cat
、man comm
などを使用して、通常どおりに閲覧できます。
man 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.
組み合わせ:
man -wK 'Richard M Stllman'
通常、マンページにはRichard Stallman
だけがあり、2つの単語の間にさまざまなスペースがあります。そのため、正規表現が適切な場合があります。
--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.
そう:
man --regex -wK 'Richard *Stallman'
この方法では、マンページ全体でキーワードを検索するのではなく、各マンページのタイトルと簡単な説明のみを検索します。あなたのケースでは十分ではありませんが、何かをすばやく調べるのに便利です。目的の結果が返されない場合は、@ philsf の answer を使用する必要があります。
apropos
コマンドを使用して、インストールされているすべてのマンページのタイトルとキーワードの説明をすばやく検索できます。
$ 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
whatis
を使用して、既知のマンページの説明を表示できます。
$ whatis empathy
empathy (1) - GNOME multi-protocol chat and call client
前述したように、このメソッドはマンページ全体を検索しないため、apropos Stallman
は何も返しません...