ग्रेप के रंग को संशोधित करना


23

जब मुझे कुछ मिलता है, तो परिणाम हमेशा लाल रंग का होता है। मुझे पता है कि कमांड grep --colorरंग में परिणाम को प्रिंट करता है, जो डिफ़ॉल्ट रूप से लाल है। क्या मैं रंग बदल सकता हूं?

जवाबों:


18

आप grepपर्यावरण चर का उपयोग करके हाइलाइट रंग बदल सकते हैं GREP_COLORS, जिसे आप इस तरह सेट कर सकते हैं:

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!)    │
└────────────┴────────────────────────────────────────────────────────────────────┘

पृष्ठभूमि के रंग

ध्यान दें कि गैर-जीयूआई 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-रंग चार्ट

उपरोक्त चार्ट सीएमजी ली एट अल द्वारा लिखित विकिपीडिया पर "एएनएसआई एस्केप कोड, 8-बिट रंगों" में प्रकाशित सामग्री का एक स्क्रीनशॉट है । 24 फरवरी 2016 को और बाद में , और दोनों CC BY-SA 3.0 कॉपीराइट लाइसेंस और GFDL कॉपीराइट लाइसेंस के तहत लेखकों द्वारा लाइसेंस प्राप्त किया गया

ऊपर दिए गए 256-रंग चार्ट के रंगों का उपयोग इस प्रकार किया जा सकता है:

  • 38;5;ɴ- टर्मिनल के निकटतम रंग को अग्रभूमि रंग बदलने के लिए ऊपर चार्ट में एक विशेष रंग के मूल्य के साथ value को बदलें जो टर्मिनल का समर्थन करता है
  • 48;5;ɴ- टर्मिनल के निकटतम रंग को पृष्ठभूमि रंग बदलने के लिए ऊपर चार्ट में एक विशेष रंग के मूल्य के साथ value को बदलें

उदाहरण के लिए, 38;5;214;48;5;30अग्रभूमि को रंग 214और पृष्ठभूमि को रंग में सेट करेगा , 30जो इसे समर्थन करने वाले टर्मिनलों पर नारंगी-ऑन-टीले परिणाम देगा।

ध्यान दें कि सभी टर्मिनल सभी 256 रंगों का समर्थन नहीं करते हैं, इसलिए यह महसूस करना महत्वपूर्ण है कि चुने हुए रंग का उपयोग नहीं किया जा सकता है। केवल एक चुने हुए निकटतम निकटतम समर्थित रंग का उपयोग किया जाएगा।

उदाहरण के लिए, गैर-जीयूआई टीटीवाई केवल अग्रभूमि के लिए मूल 16 रंगों और पृष्ठभूमि के लिए मूल 8 रंगों का समर्थन करता है, इसलिए जो निकटतम रंग उपयोग किए जा रहे हैं, वे वह नहीं हो सकते हैं जो आप अपेक्षा करते हैं। एक उदाहरण के रूप में, ऊपर नारंगी रंग का चयन 38;5;214;48;5;30गैर-जीयूआई TTY में पीले-ऑन-काले के रूप में दिखाता है, क्योंकि वे निकटतम समर्थित रंग हैं।

फोंट्स

10डिफ़ॉल्ट फ़ॉन्ट है। 11के माध्यम 20से संभावित वैकल्पिक फोंट हैं ( 20आमतौर पर इसका मतलब है कि दुर्लभ टर्मिनलों में एक the फ़ॉन्ट जो इसका समर्थन करता है)। गैर-जीयूआई 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 एस्केप कोड, SGR (ग्राफिक रेंडिशन) पैरामीटर्स"
        ● GNOME टर्मिनल पर प्रायोगिक सत्यापन xterm, और गैर-GUI- मोड TTY Ubuntu 16.04 पर


<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 पर चेक किया जा सकता है ।

पूरा करने के लिए, और @ आददम के द्वारा बताया गया है, आपको परिवर्तनों को सहेजने के exportलिए अपने को जोड़ना होगा .bashrc

सम्बंधित:

बहुरंगी ग्रीप

हर दूसरे क्रेप के लिए अलग-अलग रंगों का इस्तेमाल करें


2
कर रहे हैं बहुत अधिक रंग और उपलब्ध स्वरूपण विकल्प, कोशिश <<<hello GREP_COLORS='ms=5;104' grep '.*'एक बार! कोडों की एक सूची यहां पाई जा सकती है (खंड 6)।
मिठाई

1
आप GREP_COLORS के साथ 256 रंग तालिका से रंग मान का उपयोग कैसे करते हैं?
सेबेस्टियन स्टार्क

1
38;5;ɴ@SebastianStark अग्रभूमि के लिए, उपयोग करें , जहां the को रंग मूल्यों में से एक के साथ प्रतिस्थापित किया जाना चाहिए। पृष्ठभूमि के लिए, 48;5;ɴउसी तरह से उपयोग करें । उदाहरण के लिए, 38;5;214;48;5;30आपको चैती पर नारंगी देना चाहिए। यदि ऐसा नहीं होता है, तो आपका टर्मिनल 256 रंगों का समर्थन नहीं कर सकता है। उदाहरण के लिए, गैर-जीयूआई टीटीवाई केवल अग्रभूमि के लिए 16 और पृष्ठभूमि के लिए 8 रंगों का समर्थन करता है और अग्रभूमि और पृष्ठभूमि के रंगों को उन 16 में से 8 और चैती पर नारंगी के सबसे करीब ले जाएगा, जो काले रंग पर पीला है।
चाई टी। रेक्स

1
@ ChaiT.Rex thx, ठीक काम करता है। हालांकि यह उत्तर से बहुत स्पष्ट नहीं है।
सेबस्टियन स्टार्क

2
@ ChaiT.Rex धन्यवाद, हालांकि मेरे लिए समस्या यह थी कि पाठ के "256 रंग" खंड में उन विकल्पों का कोई उल्लेख नहीं है, बस रंग तालिका
सेबस्टियन स्टार्क

6

@M से जवाब के अलावा। बेसेरा, इसे 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
अगली बार इसे बेहतर बनाने के लिए मूल उत्तर को संपादित करें।
थोरबजोरन रेव एंडरसन

यह अच्छा है लेकिन यह केवल लिनक्स पर काम करने लगता है, मैक नहीं :(
श्रीधर सरनोबत

@ श्रीधरनारोबत मैक वास्तव में उबंटू से अलग है, मैक लिनक्स नहीं है, और मैं उबंटू के लिए यह कदम उठाता हूं (यदि यह मैक के लिए था, तो यह यहां से विषय होगा, मैक प्रश्न अलग से पूछें
damadam

हाँ। यह मेरे लिए एक और सवाल पोस्ट करने के लिए मेरे लायक नहीं है, हालांकि मैं अपनी उदासी दिखाने के लिए :)
श्रीधर सरनोबत
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.