答案1
对于 Bash >= 版本 3.2:
regex='some regex pattern'
highlight=$(tput setaf 2) # green, use setab to do inverse instead of foreground
off=$(tput sgr0)
while read line
do
[[ $line =~ $regex ]] && echo -n $'\07'"$highlight"
echo "$line$off"
done
它强调的是整条线路而不是仅仅匹配一条线路。
答案2
基于此问答,我创建了以下函数:
# mylite since 'highlight' is already a program
function mylite () {
pattern=$1; shift; file=$1
grep -E --color "$pattern|$" $file
}
使用示例:
mylite pattern file.txt
cat file.txt | mylite pattern
在这个例子中没有哔哔声,但我确信可以通过修改来添加,grep
如本页上的其他答案所示。
答案3
我的答案有误。我尝试过以下方法:
PATTERN="something"
export GREP_COLOR='1;37;41' # set to a sequence of xterm escape sequences for colorization.
export GREP_OPTIONS=--color=always
while read LINE
do
echo $LINE | grep $PATTERN || echo $LINE
done
答案4
就像是日志监视可能就是您正在寻找的。