man -K
フォーマットされた出力は検索されず、マークアップソースが検索されるようです。例えば
man -K warranties
warranties
xcalc(1)など、文字列を含まない多くのマンページが提供されています。また、特殊文字を含む文字列を検索することは非常に困難です。
man -K 7 '\f'
含まれていないページがたくさんあります\f
。
man -K 7 '\\f'
偽の肯定を表示しないようですが、文字列を含むascii(7)も表示しません\f
。
この問題をどのように解決できますか?
答え1
~によるとLinux手動、最初の例ではリテラルを検索します。\f
、フォントの変更に関するほとんどのマニュアルページにあります。
The international counterpart of ASCII is known as ISO 646.
.LP
The following table contains the 128 ASCII characters.
.LP
C program \f(CW\(aq\eX\(aq\fP escapes are noted.
.if t \{\
.ft CW
\}
.TS
l l l l l l l l.
これはascii(7)
Debian 3.44-1パッケージを示していますmanpages
。ファイルには他のインスタンスは含まれていません。\f
、そして一つもありません。\\f
。
FreeBSDman
が不足して-K
オプションで、OSX はascii.7
フォント切り替えを使用しません。\f
、あなたはおそらくLinuxに言及しているでしょう。 Linuxman
プログラムは正規表現をオプションでサポートします。--regex
。デフォルトでは正規表現を使用しません。
探しているからフォーマット済み \f
、対応する文字ペアを生成したトークンを見つける必要があります。ではascii.7
線が表示されます。
014 12 0C FF '\f' (form feed) 114 76 4C L
によって
012 10 0A LF \(aq\en\(aq (new line) 112 74 4A J
つまり、 groff マクロを使用します。\en
、以下を検索できます。
man -K 7 '\en'
より短い出力が得られます(Debian 7では、5811行対57322行)。ここに結果を表示するには、ヘッダー/フッター行だけで十分です。
ASCII(7) Linux Programmer's Manual ASCII(7)
Linux 2009-02-12 ASCII(7)
COPY(7) PostgreSQL 9.1.22 Documentation COPY(7)
PostgreSQL 9.1.22 2016-05-27 COPY(7)
CPUSET(7) Linux Programmer's Manual CPUSET(7)
Linux 2008-11-12 CPUSET(7)
GITCORE-TUTORIAL(7) Git Manual GITCORE-TUTORIAL(7)
Git 1.7.10.4 03/19/2016 GITCORE-TUTORIAL(7)
GROFF_CHAR(7) GROFF_CHAR(7)
Groff Version 1.21 25 June 2012 GROFF_CHAR(7)
GROFF_MDOC(7) BSD Miscellaneous Information Manual GROFF_MDOC(7)
GROFF_TRACE(7) GROFF_TRACE(7)
Groff Version 1.21 25 June 2012 GROFF_TRACE(7)
MAN(7) Linux Programmer's Manual MAN(7)
Linux 2012-08-05 MAN(7)
もちろん、これは関連するマークアップを知ることに依存します。その他同じことを表現する方法)。タグを表示する理由man
は、検索機能に依存できないためです。フォーマット済みマンページ。
しばらくしても、フォーマットされたcatman
マニュアルページ用のディレクトリを保存するのが一般的でした。
- マニュアルページフォーマットが遅い
- 一部のベンダーはフォーマットされたマニュアルページを配布しません(またはSunなどの一部のベンダーはnroff以外の形式でマークアップを提供して状況を複雑にします)。
一人で作ることができます。KWIC指数すべてのマニュアルページのすべての単語はフォーマットされていますが、それでも
- 多くのスペースを占め、
- 作成するのに時間がかかる