Làm cách nào tôi có thể grep với màu trong thiết bị đầu cuối của Mac OS X?


39

Gần đây tôi phát hiện ra rằng trên Mac OS XI có thể thiết lập cái này trong vỏ của tôi ~/.profileđể khi tôi sử dụng grepnó sẽ in các que diêm màu (trắng một màu đỏ).

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

Nhưng thiết lập một bí danh có vẻ như là một cách hack để làm điều này. Trước đây tôi đã thử không có may mắn:

export GREP_COLOR=always           # works fine in Linux

Và rồi tôi cũng đã thử:

export GREP_COLOR="1;37;41"

Có cách nào tốt hơn để làm điều này hơn là thiết lập bí danh?


Tôi không thấy điểm của câu hỏi của bạn. Một bí danh là cách bạn làm điều này. Đó là những gì nó làm. exportbiến môi trường, ví dụ .bash_profile, trong và xác định alias grep='grep --color', và bạn đã hoàn thành.
Daniel Beck

Câu trả lời:


60

Per Grep_color trên mac theo đề xuất của @lupincho, điều này dường như hoạt động tốt và không sử dụng bí danh:

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

13
Có +1 cho điều này như một giải pháp tốt, tuy nhiên việc đặt GREP_OPTIONS dẫn đến grep: warning: GREP_OPTIONS is deprecated; please use an alias or script. Một cái gì đó như thế này hiện đang được ưa thích:alias grep="`which grep` --color=always"
joelittlejohn 6/11/2015

2
@joelittlejohn không hoạt động khi sử dụng grep trong ống có xargs, ví dụ:find /usr/share -name '*.txt' |xargs grep testing
rfabbri

1
@rfabbri Tôi đoán đó là một người phải đối mặt với đội grep đã phản đối điều này :)
joelittlejohn

3
--color=alwayslà nguy hiểm. Các tập lệnh chạy từ trình bao cũng sẽ kế thừa tùy chọn và gây ra các lỗi rất bí ẩn khi grep bắt đầu tiêm mã màu vào đầu ra bên trong các tập lệnh. --color=autokhông gây ra vấn đề này
Sampo

1
@joelittlejohn không đúng với grep mặc định trong OSX. Ngay cả trên High Sierra 10.13, nó sử dụng FREEBSD grep 2.5.1 mà KHÔNG được khấu hao GREP_OPTIONS. Điều đó chỉ đúng trong gnu / grep
cde
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.