grep의 색상 수정


23

무언가를 잡으면 결과는 항상 빨간색입니다. 명령 grep --color이 결과를 컬러로 인쇄 한다는 것을 알고 있습니다. 기본적으로 빨간색입니다. 색상을 변경할 수 있습니까?

답변:


18

다음과 같이 설정할 수 grep있는 환경 변수를 사용하여 강조 색상을 변경할 수 있습니다 GREP_COLORS.

export GREP_COLORS='ms=01;31'

숫자 옵션

숫자는 텍스트 스타일을 지정하거나 전경색 또는 배경색을 변경하거나 글꼴을 변경할 수 있습니다.

모든 GREP_COLORS옵션 의 시작 조건 은 터미널의 기본 텍스트 스타일, 글꼴 및 색상입니다. 이 중 하나를 재설정하면 기본값이 아닌 터미널 기본값으로 돌아갑니다 grep.

전설

  • ;ʙ;- ;당신이 결합하려는 숫자 옵션을 구분하는 (예를 들어, 굵은 노란색에 검정 텍스트 콤바인 옵션 1, 33401;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!)     │
└────────────┴────────────────────────────────────────────────────────────────────┘

256 색 차트

256 색 차트

위의 차트는 CMG Lee 등이 저술 Wikipedia 에서 "ANSI 이스케이프 코드, 8 비트 색상"으로 게시 된 컨텐츠의 스크린 샷입니다 . 2016 년 2 월 24 일 이후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에서 지원되는 가장 가까운 색상이므로 검정색이 아닌 노란색으로 표시됩니다.

폰트

10기본 글꼴입니다. 11통해 20대체 글꼴 을 사용할 수 있습니다 ( 20일반적으로 지원하는 드문 터미널 의 𝕱𝖗𝖆𝖐𝖙𝖚𝖗 글꼴 을 의미 ). 만 10하고 12그놈 터미널 또는 비 GUI TTY에서 기본 및 없음 존재가 존재하는 것 같다 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       │
└─────┴─────────────────────────┴─────────────────────────┴───────────────────────┘

"숫자 옵션"섹션 소스 :
        Wikipedia의 "ANSI 이스케이프 코드, SGR (그래픽 변환 선택) 매개 변수"
        xtermUbuntu 16.04의 그놈 터미널 및 비 GUI 모드 TTY에 대한 실험적 검증


<code> GREP_COLORS </ code> 설정 후 색상 변경 예

기본값 GREP_COLORS'ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36'

받아 들여진 모든 요소의 의미는 GNU.org 매뉴얼 페이지GREP_COLORS 에서 확인할 수 있습니다 .

완료 및 @damadam에 의해 지적 밖으로, 당신은 추가 할 필요가 export당신에 .bashrc변경 사항을 저장하기 위해.

관련 :

여러 가지 빛깔의 그립

grep마다 다른 색상을 사용하십시오


2
있습니다 훨씬 가능한 더 많은 색상과 서식 옵션을 시도 <<<hello GREP_COLORS='ms=5;104' grep '.*'한 번! 코드 목록은 여기 에서 찾을 수 있습니다 (섹션 6).
디저트

1
GREP_COLORS와 함께 256 색상 표의 색상 값을 어떻게 사용합니까?
Sebastian Stark

1
@SebastianStark 포 그라운드의 경우을 사용하십시오 38;5;ɴ. 여기서 ɴ는 색상 값 중 하나로 대체되어야합니다. 배경 48;5;ɴ은 같은 방식으로 사용하십시오. 예를 들어 38;5;214;48;5;30청록색에 오렌지를 주어야합니다. 그렇지 않은 경우 터미널이 256 색을 지원하지 않을 수 있습니다. 예를 들어, 비 GUI TTY는 전경색으로 16 색, 배경색으로 8 색만 지원하며 청록색에서 주황색에 가장 가까운 16 색과 8 색에서 전경색과 배경색을 선택합니다 (검정색은 노란색).
차이 티 렉스

1
@ ChaiT.Rex thx는 잘 작동합니다. 그러나 대답에서 그다지 명확하지 않습니다.
Sebastian Stark

2
ChaiT.Rex 덕분에 @,하지만 나를 위해 문제는 텍스트의 "256 색"절에서 어떤 단지 색상 표, 이러한 옵션의 언급이 없다 더이었다
세바스찬 스타크

6

@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재시작 후 터미널이나 컴퓨터 를 다시 실행할 필요가 없습니다 .


5
다음 번에 더 좋도록 원래 답변을 편집하십시오.
Thorbjørn Ravn Andersen 16:31에

이 좋네요하지만 그것은 단지 리눅스,하지 맥 :(에서 작동하는 것 같다
스리 Sarnobat

@SridharSarnobat Mac은 실제로 Ubuntu와는 다르고 Mac은 Linux가 아니며 Ubuntu에 대해이 단계를 수행합니다 (Mac의 경우 주제가 아닌 경우 Mac에서 다른
damadam at

네. 내 슬픔을 보여주기 위해 다른 질문을 게시하는 것은 가치가 없습니다. :)
Sridhar Sarnobat
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.