是否有grep
类似命令来突出显示命令输出中的特定文本,但显示所有行,无论是否存在所需文本,并允许与 pipeline(1) 或 Monitored(2) 命令交互?
command | highlightThisText 'string1' 'string2' 'string3'
- 就像
time
命令如何为命令计时一样,例如time echo foo
我的情况是这样的:
我有一台运行 Ubuntu Server 14.04.2 的服务器,它需要特定于 14.04.2 附带的内核的 HP 驱动程序。我不能apt-get update ; apt-get upgrade
随意这样做,因为内核更新可能会削弱操作系统访问 RAID 控制器的能力。我正在apt-get --only-upgrade install packagename
一次升级一个现有的软件包。至少,我想要
- “建议套餐:”
- “以下软件包将升级:”
- “将安装以下额外的软件包:”
像声明一样突出显示grep
,但我还需要与提示进行交互。突出显示可以更快地直观地找出正在获取的包。
当我完成这篇文章时,我正在选择标签并遇到了source-highlight
。这看起来很接近,但看起来只产生突出显示的输出文档,而不是终端内的彩色输出。
更新:
有人评论了(但显然已删除)这篇文章说服 grep 输出所有行,而不仅仅是那些匹配的行可能就是我正在寻找的。它非常接近满足我的需求 - 特别是管道进入ack
和grep -E --color "Things I'd like highlighted"
- 但是当我到达提示我继续“[Y/n]”的部分时apt-get
,它不会显示任何内容。此时,我知道按“Y”或“n”,但如果我想将其用于其他命令,如果ack
或grep
阻止提示,我可能不知道要按什么。
作为示例,下面我正在使用read
和echo
命令。read
正在等待输入并且不会着色,但echo
会按其应有的方式显示。