Grep_color บน mac


12

ฉันพยายามรับไฮไลต์ regex ของฉันบน mac โดยใช้เทอร์มินัล ฉันได้ใส่นี่คือของฉัน.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(พหูพจน์) เป็นสิ่งที่เลิกใช้แล้ว นั่นเป็นสาเหตุที่รูปแบบการระบายสีของฉันเมื่อหลายปีก่อนหายไปโดยที่ฉันไม่ได้สังเกต
Sridhar Sarnobat

คำตอบ:


22

สิ่งนี้ใช้ได้กับเครื่องเสือดาวหิมะของฉัน ลองคัดลอกและวางข้อความในเทอร์มินัลของคุณและดูว่า grep แสดงพฤติกรรมที่ต้องการหรือไม่ ถ้าเป็นเช่นนั้นปัญหาคือคุณไม่ได้เพิ่มลงใน dotfile ที่ถูกต้อง คุณใช้เปลือกอะไร dotfile ที่คุณควรเพิ่มเข้าไปนั้นขึ้นอยู่กับเชลล์ที่คุณใช้

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

ลองใช้printenvเพื่อดูตัวแปรสภาพแวดล้อมที่คุณได้ตั้งค่าไว้แล้วและดูว่ามีตัวเลือก grep อยู่แล้วหรือไม่


ที่ดีเยี่ยม !!! ขอบคุณ!! ดีกว่าตั้งค่านามแฝง!
cwd

1
แปลก. ฉันจะลงคะแนนให้คำตอบนี้ แต่มันไม่ได้ผลสำหรับฉันที่ใช้ Terminal กับ Snow Leopard มันเปลี่ยนข้อความที่ตรงกันเป็นกล่องดำทั้งหมด
โปรเก่า

2
@OldPro - ฉันอยากจะแนะนำให้ใช้จริงexport GREP_COLOR='1;35;40'เพราะ 35 เป็นสีฟ้าและ 30 เป็นสีเทา - 40 เป็นพื้นหลังสีดำดังนั้นมันจึงดูมืด แต่ใช่มันใช้งานได้! :)
cwd

เทอร์มินัลของฉันสวยงามขึ้นมาก ฉันรู้ว่าความงามที่แท้จริงอยู่ข้างใน แต่ฉันก็ผิวเผิน
Sridhar Sarnobat

1

grepผมไม่คิดว่าการตั้งค่าเริ่มต้นเสือดาวหิมะคือการใช้สี ฉันประสบความสำเร็จในกล่อง OS X ของฉันด้วยการเพิ่มบรรทัดเหมือนalias grep=grep --color=alwaysในของฉัน.bashrcเพื่อให้แน่ใจว่าการเน้นที่สอดคล้องกัน


6
--color=alwaysอาจเป็นปัญหาได้หากเอาต์พุตของ grep ถูกไพพ์ไปยังคำสั่งอื่น --color=autoจะปล่อยอักขระควบคุมเฉพาะเมื่อเอาต์พุตถูกแสดงบนเทอร์มินัลโดยตรงเท่านั้น
Gowtham

1

มันไม่ได้bash.profileหรือมันbash_profile.bash_profile

สำหรับสีบน Mac ของคุณเพียงแค่ใส่ลงไปใน~/.bash_profile:

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

อย่าลืมใช้.bash_profileในโฮมไดเร็กตอรี่ของคุณ ( ~/)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.