如何配置grep
以便我可以更智能地突出显示颜色?通过使用不同的颜色?
问题:grep --color
默认使用红色来突出匹配,但连续运行仍然难以阅读。如果我运行grep
三次,我希望第一次运行使用红色,第二次使用其他颜色(例如绿色),第三次再次使用红色,依此类推。
我读过之前有一个黑客可以在每次运行时交换终端使用中的颜色,以便输出干净且更易于阅读。但我忘了那是什么;它是 zsh 或 bash-script,还是其他一些 shell?
小智 3
您可以将以下内容添加到您的.bashrc
文件中:
my_grep() {
if $GREP_USE_FIRST_COLOR
then
export GREP_USE_FIRST_COLOR=false
export GREP_COLORS='ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36'
else
export GREP_USE_FIRST_COLOR=true
export GREP_COLORS='ms=01;33:mc=01;33:sl=:cx=:fn=35:ln=32:bn=32:se=36'
fi
grep --color=auto "$@"
}
alias grep=my_grep
Run Code Online (Sandbox Code Playgroud)
这将改变grep
交互式 shell 中后续调用的匹配突出显示颜色,介于粗体红色 ( ms=01;31
) 和粗体黄色 ( ms=01;33
) 之间。
有关如何设置您喜欢的特定突出显示颜色的更多信息,请参阅grep 手册。GREP_COLORS