2

このコマンドで color オプションの grep マニュアルを検索しようとするとどうなりますか?

man grep | grep "color"

結果は得られませんが、実行すると

man grep

男はこれを出力します[編集済み]

 --colour=[when, --color=[when]]
         Mark up the matching text with the expression stored in GREP_COLOR environment variable.  The possible values of when can be `never', `always' or `auto'.
4

3 に答える 3

5

grepを実行する前に、manページをパイプ処理しcol -bて、特殊文字をクリーンアップしてみてください。

例えば:

man grep | col -b | grep "color"

または、マニュアルページャーとして次のように指定col -bします。

man -P "col -b" grep | grep "color"

シェルプロファイルでMANPAGERを設定して、これをより永続的にすることもできます。

export MANPAGER='col -b | less'

ただし、これは、マニュアルページを表示するときにきれいな色が失われることを意味します。

于 2012-09-26T11:37:46.287 に答える
3

「man」の出力にはエスケープ シーケンスが含まれており ( man grep|cat -vTを試してください)、単語「color」を生成するエスケープ シーケンスには ASCII シーケンス「color」が含まれていません。

   -^H--^H-c^Hco^Hol^Hlo^Hou^Hur^Hr[^H[=^H=_^HW_^HH_^HE_^HN]_^H, -^H--^H-c^Hco^Hol^Hlo^Hor^Hr[^H[=^H=_^HW_^HH_^HE_^HN]
          Surround  the matching string with the marker find in G^HGR^HRE^HEP^HP_^H_C^HCO^HOL^HLO^HOR^HR
          environment variable. WHEN may be 'never', 'always', or 'auto'
于 2012-09-26T11:26:57.967 に答える
1
man grep | grep -E 'color'

それは完全に機能します!

于 2012-09-26T15:42:03.010 に答える