我编写了许多脚本来为比赛着色,如下所示:
$ echo abcdef | grepg c
ab[green]c[/green]def
$ echo abcdef | grepr e
abcd[red]e[/red]f
当我将其链接起来时它也有效:
$ echo abcef | grepr a | grepg b | grepg c | grepp e | grepl f
abcdef [each letter have it's own style]
但是当我尝试使用数字时,结果是错误的:
$ echo 12345 | grepr 1 | grepg 2 | grepb 3 | grepp 4 | grepl 5
[01;[01;3[01;35m4m31m1[01;[01;3[01;35m4m32m2[01;3[01;35m4m3[01;35m45
因为如果后续的 grep 也与先前的 grep 生成的转义序列匹配。
如何正确操作?我需要停止终端缩放序列内的 grep 匹配,或者使其匹配多个模式并将它们着色为不同的颜色。