मैक पर Grep_color


12

मैं टर्मिनल का उपयोग करके अपने रेगेक्स को मैक पर हाइलाइट करने की कोशिश कर रहा हूं। मैंने डाल दिया है यह मेरा है .profile:

export GREP_COLOR='1;30;40'

कुछ भी नहीं बदलता है, इसलिए मैंने अपने bash.profileअभी भी कुछ भी नहीं के साथ ही जोड़ा , मशीन को फिर से शुरू किया। जब में:

egrep --color=auto ".*\W blah blah "

तब यह कुछ पीले रंग की रोशनी देता है लेकिन मुझे आश्चर्य होता है कि मैंने अपने में कुछ गलत किया है .profileया नहीं bash_profile

कोई भी मदद अच्छी होगी: हिम तेंदुआ, बस सादे पुराने टर्मिनल के साथ :-)


2
GREP_COLORवंचित नहीं है ? वैसे भी grep --colorपर्यावरण चर की आवश्यकता के बिना, डिफ़ॉल्ट रंग में मैचों को उजागर करना चाहिए।
jw013

यह केवल आधा सच है। GREP_COLORआपको वास्तविक रंगों को अनुकूलित करने की अनुमति देता है, जबकि --colorडिफ़ॉल्ट रूप से जो भी रंग कॉन्फ़िगर किए जाते हैं उन्हें केवल सक्षम / अक्षम करता है। और मैं सोचता हूं GREP_COLORS(बहुवचन) वह है जो वंचित है। यही कारण है कि वर्षों पहले मेरा रंग रूप मेरे बिना गायब हो गया।
श्रीधर सरनोबत

जवाबों:


22

इसने मेरे हिम तेंदुए की मशीन पर काम किया। बस अपने टर्मिनल में पाठ को कॉपी और पेस्ट करने की कोशिश करें और देखें कि क्या grep वांछित व्यवहार दिखाता है। यदि ऐसा होता है, तो समस्या यह है कि आप इसे सही डॉटफ़ाइल में नहीं जोड़ रहे हैं। आप किस खोल का उपयोग कर रहे हैं? डॉटफ़ाइल आपको इसे आपके द्वारा उपयोग किए जाने वाले शेल पर निर्भर करने के लिए जोड़ना चाहिए।

export GREP_OPTIONS='--color=auto'
export GREP_COLOR='1;30;40'

इसके अलावा, यह printenvदेखने के लिए दौड़ने का प्रयास करें कि आपने पहले से कौन से पर्यावरणीय चर निर्धारित किए हैं और देखें कि क्या कोई grep विकल्प पहले से हैं।


अति उत्कृष्ट!!! धन्यवाद!! एक उपनाम स्थापित करने से बेहतर है!
cwd

1
अजीब। मैं इस जवाब को वोट करने जा रहा था, लेकिन यह मेरे लिए स्नो लेपर्ड पर टर्मिनल का उपयोग करने के लिए काम नहीं करता था। इसने मिलान किए गए पाठ को सभी ब्लैक बॉक्स में बदल दिया।
ओल्ड प्रो

2
@ ओल्डप्रो - मैं वास्तव में उपयोग करने की सलाह दूंगा export GREP_COLOR='1;35;40'क्योंकि 35 सियान है और 30 ग्रे है - 40 काली पृष्ठभूमि है, इसलिए यह अंधेरा दिखता है। लेकिन हाँ यह काम करता है! :)
cwd

मेरा टर्मिनल बहुत अधिक सुंदर बन गया है। मुझे पता है कि सच्ची सुंदरता अंदर की तरफ है लेकिन मैं सतही हूं।
श्रीधर सरनोबत

1

मुझे नहीं लगता कि स्नो लेपर्ड की डिफ़ॉल्ट सेटिंग के लिए रंग का उपयोग करना है grep। मुझे अपने OS X बॉक्स पर लगातार हाइलाइटिंग सुनिश्चित करने के लिए alias grep=grep --color=alwaysमेरी तरह एक लाइन जोड़ने के साथ सफलता मिली है .bashrc


6
--color=alwaysएक समस्या हो सकती है अगर grep का आउटपुट किसी अन्य कमांड पर पाइप किया जाता है। --color=autoनियंत्रण वर्णों को केवल तभी उत्सर्जित करेगा जब आउटपुट टर्मिनल पर सीधे प्रदर्शित हो
गोथम

1

ऐसा नहीं है bash.profileऔर न ही bash_profile, यह .bash_profile

अपने मैक पर रंगों के लिए के रूप में, बस इस में डाल ~/.bash_profile:

export GREP_OPTIONS='--color=auto'
export GREP_COLOR='1;30;40'

.bash_profileअपने घर की निर्देशिका में उपयोग करना सुनिश्चित करें ( ~/)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.