मैं मैक ओएस एक्स के टर्मिनल में रंग के साथ कैसे पकड़ सकता हूं?


39

मैंने हाल ही में पाया कि मैक ओएस इलेवन इसे अपने शेल में सेट कर सकता है ~/.profileताकि जब मैं इसका उपयोग करूं तो grepयह रंगों में मैच (सफेद लाल) प्रिंट करेगा।

alias grep='GREP_COLOR="1;37;41" LANG=C grep --color=auto'

लेकिन एक उपनाम स्थापित करना ऐसा करने के लिए एक हैक तरीके की तरह लगता है। पहले मैंने बिना किसी भाग्य के कोशिश की थी:

export GREP_COLOR=always           # works fine in Linux

और फिर मैंने भी कोशिश की:

export GREP_COLOR="1;37;41"

क्या यह एक उपनाम स्थापित करने से बेहतर तरीका है?


मुझे आपके प्रश्न का बिंदु दिखाई नहीं दे रहा है। एक उपनाम यह है कि आप यह कैसे करते हैं। बस यही बात है। exportपर्यावरण चर जैसे उदाहरण .bash_profile, और परिभाषित alias grep='grep --color', और आप कर रहे हैं।
डैनियल बेक

जवाबों:


60

Mac पर Grep_color के अनुसार @lupincho द्वारा सुझाया गया है, यह ठीक काम करता है और एक उपनाम का उपयोग नहीं करता है:

export GREP_OPTIONS='--color=always'
export GREP_COLOR='1;35;40'

13
एक अच्छा समाधान के रूप में इसके लिए +1 रखें, हालांकि GREP_OPTIONS सेट करने से होता है grep: warning: GREP_OPTIONS is deprecated; please use an alias or script। ऐसा कुछ अब पसंद किया जाता है:alias grep="`which grep` --color=always"
joelittlejohn

2
@joelittlejohn xargs के साथ पाइप में grep का उपयोग करते समय काम नहीं करता, जैसे:find /usr/share -name '*.txt' |xargs grep testing
rfabbri

1
@rfabbri मुझे लगता है कि इस grep टीम के साथ लेने के लिए एक है, जो इसे हटा दिया :)
joelittlejohn

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

1
@joelittlejohn जो OSX में डिफ़ॉल्ट grep के लिए सही नहीं है। यहां तक ​​कि हाई सिएरा 10.13 पर, यह फ्रीबीएसडी जीआरईपी 2.5.1 का उपयोग करता है जो कि GREP_OPTIONS नहीं है। यह केवल gnu / grep में सच है
cd
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.