マニュアルページでテキストを見つける方法は?

マニュアルページでテキストを見つける方法は?

マニュアルページでテキスト(特定のオプションなど)を見つけるには、コマンドラインからgrepするのが便利だと思います。

ただし、以下のようにパターンのみが一致し、パターンは何も一致しないgrepマニュアルページで作業していると期待どおりに機能しません()。"-f""-""--file"alias grep='grep --color=always'

nlykkei-mbp:~ nlykkei$ alias grep
alias grep='grep --color=always'
nlykkei-mbp:~ nlykkei$ man grep | grep -e "-f"
          [-e pattern] [-f file] [--binary-files=value] [--color[=when]]
     -F, --fixed-strings
     -f file, --file=file
     -h, --no-filename
             --binary-file=without-match option.
     -L, --files-without-match
     -l, --files-with-matches
     --binary-files=value
     and the behaviour of the -f flag when used with an empty pattern file is
nlykkei-mbp:~ nlykkei$ man grep | grep -e "--file"
nlykkei-mbp:~ nlykkei$ echo "--file" | grep -e "--file"
--file
nlykkei-mbp:~ nlykkei$ ▒ 

代わりに、一致するパイプテキストがecho期待どおりに機能しますが、これはマニュアルページの「見えない」形式に関連していますか?マニュアルページのgrepテキストを信頼できますか?

注:私はとman -kについて知っていますが、man -Kこれらは私が達成したいことを完全に解決しません。

答え1

解決策1:man用の特定のconfファイルの使用

構成ファイル.man.raw.conf

NROFF /usr/bin/groff -mandoc -Tlatin1 -P-u -P-b

使用例man

MyMAC:tmp e444$$ man  -C .man.raw.conf grep | grep -e --file
     -f file, --file=file
     -L, --files-without-match
     -l, --files-with-matches

解決策2:使用colcrt -

MyMAC:tmp e444$  man grep | colcrt -  | grep -e --file
     -f file, --file=file
     -L, --files-without-match
     -l, --files-with-matches

ps 1:- より多くのゴ​​ミを追加するcolcrtなし

ps 2:この質問と回答はLinuxでは動作が異なるため意味がありません。

答え2

あなたはする必要がありますいいえマンページでgrepを使用してください。マニュアルページがエンコードされており(通常英語ではない)、コンテンツが検索中の文と一致しません。

プログラムを使用して表示するとしますmanlessマニュアルページ検索に使用できる方法がありますless。読んでください。

less入力man grep(または他のコマンド)を介してマニュアルページが表示されることを確認するには、[次へ]をクリックします。入力するマニュアルページを見ながらキーを押します。時間。少ない場合はタイトル助けるレンダリングされたページのタイトルは次のとおりです。Less コマンドの概要。一度これを確認します。less自分で検索できることを知っておく必要があります。キューquit表示されたヘルプページに移動するには(必要な場合)キーを使用します。/。 [次へ]を押すと:

/-f

-f次に Enter キーを押すと、強調表示された内容が表示されます(押すと次の一致nに移動します)。

または、文字列に一致する行のみを確認する必要がある場合は、次のようにします。

&-f

コマンドラインでこの種類の検索を有効にする必要がある場合は、次の手順を実行します。

$ LESS=+'/-f' man grep

関連情報