Mac OS Xの端末で色を表示するにはどうすればよいですか?


39

私は最近、Mac OS XIでこれをシェルで設定できる~/.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環境変数、例えばin .bash_profile、define 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
xargsを使用したパイプでgrepを使用すると、@ joelittlejohnが機能しません。例:find /usr/share -name '*.txt' |xargs grep testing
rfabbri

1
@rfabbriこれは、これを非推奨にしたgrepチームに取りかかるべきだと思います:)
joelittlejohn

3
--color=always危険です。シェルから実行されるスクリプトもオプションを継承し、grepがスクリプト内の出力にカラーコードを挿入し始めると、非常に不可解な失敗を引き起こします。--color=autoこの問題は発生しません。
サンポ

1
@joelittlejohnは、OSXのデフォルトのgrepには当てはまりません。High Sierra 10.13でも、FREPBSD grep 2.5.1を使用しますが、これはGREP_OPTIONSを減価しません。それはgnu / grep
cde
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.