Когда я grep что-то, результат всегда находится в красном. Я знаю что команда grep --color
печатает результат в цвете, который по умолчанию является красным. Я могу изменить цвет?
Можно изменить цвет подсветки grep
при помощи переменной среды, GREP_COLORS
, который можно установить как это:
export GREP_COLORS='ms=01;31'
Числа могут разработать текст, изменить основной цвет или цвет фона, или изменить шрифты.
Стартовые условия для всех GREP_COLORS
опции являются стилем текста терминала по умолчанию, шрифтом и цветами. Сброс любого из них вернется к значениям по умолчанию терминала, не любому из grep
значения по умолчанию.
ᴀ;ʙ;…
— ;
разделяет числовые опции, которые Вы хотите объединить (например, полужирные желтые-на-черном текстовые опции объединений 1
, 33
, и 40
в 1;33;40
)+ᴇꜰꜰᴇᴄᴛ
— ᴇꜰꜰᴇᴄᴛ включен при использовании той числовой опции-ᴇꜰꜰᴇᴄᴛ
— ᴇꜰꜰᴇᴄᴛ выключен при использовании той числовой опцииcolor
, green
, cyan
, и grey
— в разделе "Text styling" они относятся к основному цветуcolors
— в разделе "Text styling" это относится к основному цвету и к цвету фонаthis color
— в разделе "Foreground colors" это относится к основному цвету; в разделе "Background colors" это относится к цвету фонаПустая строка или 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!) │
└────────────┴────────────────────────────────────────────────────────────────────┘
Обратите внимание, что TTY не-GUI не обеспечивает более яркий ряд цвета фона.
┏━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ### ┃ 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-разрядные цвета" на Википедию, созданную Lee CMG и др. 24 февраля 2016 и позже, и лицензируемый авторами и под CC SA 3,0 лицензии авторского права и под лицензией авторского права GFDL.
Цвета от 256 цветовых схем выше могут использоваться следующим образом:
38;5;ɴ
— замените ɴ значением особого цвета в диаграмме выше для изменения основного цвета на самый близкий цвет терминальные поддержки48;5;ɴ
— замените ɴ значением особого цвета в диаграмме выше для изменения цвета фона на самый близкий цвет терминальные поддержкиНапример, 38;5;214;48;5;30
установит передний план для окраски 214
и предпосылки к цвету 30
, предоставление оранжевого на чирке результата на терминалах, которые поддерживают его.
Обратите внимание, что не все терминалы поддерживают все 256 цветов, таким образом, важно понять, что выбранный цвет не мог бы использоваться. Только поддерживаемый цвет, самый близкий к один выбранный, будет использоваться.
Например, TTY не-GUI только поддерживает основные 16 цветов для переднего плана и основные 8 цветов для фона, таким образом, самые близкие цвета, которые заканчивают тем, что использовались, не могут быть тем, что Вы ожидаете. Как пример, оранжевый на чирке выбор выше (38;5;214;48;5;30
) шоу как желтые-на-черном в TTY не-GUI, так как это - самые близкие поддерживаемые цвета.
10
стандартный шрифт. 11
через 20
потенциальные альтернативные шрифты (20
обычно означает шрифт в редких терминалах, которые поддерживают его). Только 10
и 12
кажется, существую по умолчанию в TTY не-GUI, и ни один не существует в Терминале 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 │
└─────┴─────────────────────────┴─────────────────────────┴───────────────────────┘
Источники раздела "Numeric options":
● "Управляющий код ANSI, SGR (Избранное Графическое Представление) параметры" на Википедию
● Экспериментальная проверка на Терминале GNOME,xterm
, и non-GUI-mode TTY на Ubuntu 16.04
Значение по умолчанию 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
после терминала перезапуска или компьютера.