当我grep
从 gnome-terminal 内部执行时,我得到彩色输出 - 容易注意到的匹配、具有不同颜色的行号(-n)等
grep
但是当我通过 bash 脚本执行完全相同的命令时,我得到了平面输出,没有颜色
有没有办法可以使用 bash 脚本获得彩色输出?
答案1
--color
当我在 shell 脚本中运行 grep 时,使用该选项对我来说很有效。
这是您想要的一个例子。
grep -n --color=auto "PATTERN" FILE
答案2
这是一个小脚本,可以帮助您了解 tput 如何与 bash 配合使用
#!/bin/bash
#@auth kesavan.muthuvel
#@desc - bash with colors :)
B=`tput bold` #BOLD
D=`tput dim` #DIM
U=`tput sgr 0 1` #UNDERLINE
U2=`tput smul` #UNDERLINE2
NOU=`tput rmul` #NO UNDERLINE
H=`tput smso` #HIGHLIGHT
X=`tput sgr0` #RESET
C='tput setaf ' #COLOR
for i in 0 1 2 3 4 5 6 7 ; do
c=`$C$i` && echo $c${B}I${U}always$NOU $D love \
${U2}colors$NOU \& $c${H}GNU/Linux$X
done;
这将打印以下输出,格式如下大胆的、下划线、突出显示和颜色。
答案3
您是否尝试过将这些别名添加到您的~/.bashrc
?
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'