何かをgrepすると、結果は常に赤になります。コマンドgrep --color
は結果をカラーで印刷することを知っています。デフォルトでは赤です。色を変更できますか?
次のように設定できる環境変数GREP_COLORS
を使用して、grep
の強調表示色を変更できます。
export GREP_COLORS='ms=01;31'
数字は、テキストのスタイル設定、前景色または背景色の変更、フォントの変更ができます。
すべてのGREP_COLORS
オプションの開始条件は、端末のデフォルトのテキストスタイル、フォント、および色です。これらのいずれかをリセットすると、grep
のデフォルトではなく、ターミナルのデフォルトに戻ります。
ᴀ;ʙ;…
— ;
は、組み合わせたい数値オプションを区切ります(たとえば、太字の黒地に黄色のテキストは、オプション1
、33
、および40
を組み合わせます1;33;40
)+ᴇꜰꜰᴇᴄᴛ
—その数値オプションを使用すると、ᴇꜰꜰᴇᴄᴛがオンになります-ᴇꜰꜰᴇᴄᴛ
—その数値オプションを使用すると、ᴇꜰꜰᴇᴄᴛがオフになりますcolor
、green
、cyan
、およびgrey
—「テキストスタイリング」セクションでは、これらは前景色を参照しますcolors
—「テキストスタイル」セクションでは、これは前景色と背景色の両方を指しますthis color
—「前景色」セクションでは、これは前景色を指します。 「背景色」セクションでは、これは背景色を指します空の文字列または0
はすべてのテキストスタイルをリセットし、両方の色をデフォルトにリセットしますが、はフォントをデフォルトにリセットしません。
┏━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ### ┃ GNOME Terminal ┃ xterm ┃ non-GUI TTY ┃
┡━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━┩
│ │ «reset style+colors» │ «reset style+colors» │ «reset style+colors» │
│ 0 │ «reset style+colors» │ «reset style+colors» │ «reset style+colors» │
├─────┼─────────────────────────┼─────────────────────────┼───────────────────────┤
│ 1 │ +bold, +brighter color │ +bold, +brighter color │ +brighter color, │
│ │ │ │ -forced grey │
│ 2 │ +fainter color │ +fainter color │ +forced grey │
│ 3 │ +italic │ +italic │ +forced green │
│ │ │ │ ● overrides 2 and 4 │
│ 4 │ +underline │ +underline │ +forced cyan │
│ │ │ │ ● overrides 2 │
│ 5 │ «no effect» │ +blink │ «no effect» │
│ 7 │ +invert colors │ +invert colors │ +invert colors │
│ 8 │ +invisible │ +invisible │ «no effect» │
│ │ │ ● underline appears │ │
│ 9 │ +strikethrough │ +strikethrough │ «no effect» │
├─────┼─────────────────────────┤ ├───────────────────────┤
│ 21 │ -bold, -brighter color, │ +double underline │ -brighter color, │
│ │ -fainter color ├─────────────────────────┤ -forced grey │
│ 22 │ -bold, -brighter color, │ -bold, -brighter color, │ -brighter color, │
│ │ -fainter color │ -fainter color │ -forced grey │
│ 23 │ -italic │ -italic │ -forced green │
│ 24 │ -underline │ -underline, │ -forced cyan │
│ │ │ -double underline │ │
│ 25 │ «no effect» │ -blink │ «no effect» │
│ 27 │ -invert colors │ -invert colors │ -invert colors │
│ 28 │ -invisible │ -invisible │ «no effect» │
│ 29 │ -strikethrough │ -strikethrough │ «no effect» │
└─────┴─────────────────────────┴─────────────────────────┴───────────────────────┘
┏━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ### ┃ GNOME Terminal ┃ xterm ┃ non-GUI TTY ┃
┡━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━┩
│ 39 │ «reset this color» │ «reset this color» │ «reset this color» │
├─────┼─────────────────────────┼─────────────────────────┼───────────────────────┤
│ 30 │ very dark grey │ black │ black │
│ 31 │ dull red │ red │ light red │
│ 32 │ dull green │ light green │ light green │
│ 33 │ dull yellow │ yellow │ yellow │
│ 34 │ greyish blue │ dark blue │ sky blue │
│ 35 │ dull purple │ purple │ purple │
│ 36 │ teal │ cyan │ cyan │
│ 37 │ light grey │ light grey │ light grey │
├─────┼─────────────────────────┼─────────────────────────┼───────────────────────┤
│ 90 │ dark grey │ dull grey │ dull grey │
│ 91 │ red │ bright red │ bright red │
│ 92 │ Lime green │ bright green │ bright green │
│ 93 │ yellow │ bright yellow │ pure yellow │
│ 94 │ light greyish blue │ dull blue │ deep blue │
│ 95 │ light purple │ Magenta │ Magenta │
│ 96 │ cyan │ bright cyan │ bright cyan │
│ 97 │ off white │ white │ white │
├─────┴──────┬──────────────────┴─────────────────────────┴───────────────────────┤
│ 38;2;ʀ;ɢ;ʙ │ replace ʀ, ɢ, and ʙ with RGB values from 0 to 255 │
│ │ for closest supported color (non-GUI TTY has only 16 colors!) │
│ 38;5;ɴ │ replace ɴ with value from 256-color chart below │
│ │ for closest supported color (non-GUI TTY has only 16 colors!) │
└────────────┴────────────────────────────────────────────────────────────────────┘
非GUI TTYは、より明るい背景色シリーズを提供しないことに注意してください。
┏━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ### ┃ GNOME Terminal ┃ xterm ┃ non-GUI TTY ┃
┡━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━┩
│ 49 │ «reset this color» │ «reset this color» │ «reset this color» │
├─────┼─────────────────────────┼─────────────────────────┼───────────────────────┤
│ 40 │ very dark grey │ black │ black │
│ 41 │ dull red │ red │ light red │
│ 42 │ dull green │ light green │ light green │
│ 43 │ dull yellow │ yellow │ yellow │
│ 44 │ greyish blue │ dark blue │ sky blue │
│ 45 │ dull purple │ purple │ purple │
│ 46 │ teal │ cyan │ cyan │
│ 47 │ light grey │ light grey │ light grey │
├─────┼─────────────────────────┼─────────────────────────┼╶╴╶╴╶╴╶╴╶╴╶╴╶╴╶╴╶╴╶╴╶╴╶┤
│ 100 │ dark grey │ dull grey │ black │
│ 101 │ red │ bright red │ light red │
│ 102 │ Lime green │ bright green │ light green │
│ 103 │ yellow │ bright yellow │ yellow │
│ 104 │ light greyish blue │ dull blue │ sky blue │
│ 105 │ light purple │ Magenta │ purple │
│ 106 │ cyan │ bright cyan │ cyan │
│ 107 │ off white │ white │ light grey │
├─────┴──────┬──────────────────┴─────────────────────────┴───────────────────────┤
│ 48;2;ʀ;ɢ;ʙ │ replace ʀ, ɢ, and ʙ with RGB values from 0 to 255 │
│ │ for closest supported color (non-GUI TTY has only 8 colors!) │
│ 48;5;ɴ │ replace ɴ with value from 256-color chart below │
│ │ for closest supported color (non-GUI TTY has only 8 colors!) │
└────────────┴────────────────────────────────────────────────────────────────────┘
上記のチャートは、 ウィキペディアの「ANSIエスケープコード、8ビットカラー」 で公開されたコンテンツのスクリーンショットです。 2016年2月24日以降のCMG Lee氏による 、 著者によってライセンスされているCC BY-SA 3.0著作権ライセンス と GFDL著作権ライセンス の両方の下。
上記の256色チャートの色は、次のように使用できます。
38;5;ɴ
—ɴを上のグラフの特定の色の値に置き換えて、前景色を端末がサポートする最も近い色に変更します48;5;ɴ
—ɴを上記のチャートの特定の色の値に置き換えて、背景色を端末がサポートする最も近い色に変更しますたとえば、38;5;214;48;5;30
は、フォアグラウンドの色を214
に設定し、バックグラウンドの色を30
に設定し、それをサポートする端末でオレンジ色が点灯します。
すべての端末が256色すべてをサポートしているわけではないことに注意してください。したがって、選択した色が使用されない可能性があることを認識することが重要です。選択した色に最も近いサポートされている色のみが使用されます。
たとえば、非GUI TTYは前景の基本16色と背景の基本8色のみをサポートしているため、最終的に使用される最も近い色は期待したものとは異なる場合があります。例として、上のオレンジ色の選択(38;5;214;48;5;30
)は、GUI以外のTTYでサポートされている最も近い色であるため、非GUI TTYでは黒に黄色として表示されます。
10
はデフォルトのフォントです。 11
から20
は潜在的な代替フォントです(20
は通常 a ?????????????????????? ?????? font それをサポートするまれな端末では)。非GUI TTYにはデフォルトで10
と12
のみが存在するようで、GNOMEターミナルまたはxterm
には存在しません。
grep
は終了する前に適切にフォントを切り替えないため、reset
がシェルに戻った後に不要なフォントで動けなくなる場合は、grep
を実行してください。
┏━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ### ┃ GNOME Terminal ┃ xterm ┃ non-GUI TTY ┃
┡━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━┩
│ 10 │ «no effect» │ «no effect» │ «reset font» │
│ 11 │ «no effect» │ «no effect» │ -messed up font │
│ 12 │ «no effect» │ «no effect» │ +messed up font │
└─────┴─────────────────────────┴─────────────────────────┴───────────────────────┘
「数値オプション」セクションのソース:
● 「ANSIエスケープコード、WikipediaのSGR(Select Graphic Rendition)パラメーター」
●GNOMEターミナル、xterm
、およびUbuntu 16.04上の非GUIモードTTYでの実験的検証
GREP_COLORS
のデフォルト値は'ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36'
です
GREP_COLORS
で受け入れられるすべての要素の意味は、 GNU.orgのマニュアルページ で確認できます。
完了のため、および@damadamが指摘したように、変更を保存するために、export
を.bashrc
に追加する必要があります。
関連:
@Mからの回答に加えて。 Becerra、このexport
を~/.bashrc
内に追加することを忘れないでください。次のようにできます:
nano ~/.bashrc
export
を入力してください:
export GREP_COLORS='ms=01;33:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36'
これにより、grep
の結果が黄色に設定され、ターミナルまたはコンピューターの再起動後にexport
をやり直す必要がなくなります。