在将整个字符串传递到stdout时,是否可以使用命令轻松突出显示(带有颜色,粗体文本或反向的前/后背景)特定字符串?我正在考虑构建它,但是如果它已经存在,我宁愿使用它。一些理想的功能:
- 单独的突出显示字符串以自动方式以不同的方式突出显示。例如,第一个字符串将以红色突出显示,第二个字符串以绿色突出显示,第三个字符串以蓝色突出显示(无需手动配置)。
- 检测颜色支持并退回到可用的粗体/反转/其他突出显示方法。
- 允许匹配正则表达式和文字字符串。
- 如果匹配重叠,最好做一些聪明的事情,例如“ foobar”和“ barbar”。
- 除了添加颜色代码外,在stdin和stdout之间没有任何修改。
1
参见unix.stackexchange.com/questions/8414
—
mattdm 2011年
噢,好问题。我需要这个确切的东西并最终编写了一些东西,但它只是用颜色编码的固定字符串,它没有您列出的任何功能
—
Michael Mrozek
与其编写新的实用程序,不如将其视为grep本身的补充,真是太棒了。
—
mattdm 2011年
正确的unix原理将是可以从grep以及其他流中通过管道进行传输的新实用程序。我怀疑至少有一个或多个Perl模块可以为您做到这一点,但是……
—
Shadur 2011年
@吉尔斯:这个问题的范围更加有限。实际上,阅读它是我提出此问题的原因之一-寻求更通用,更灵活的解决方案。
—
2011年