突出显示命令输出中的特定文本,允许与命令交互

突出显示命令输出中的特定文本,允许与命令交互

是否有grep类似命令来突出显示命令输出中的特定文本,但显示所有行,无论是否存在所需文本,并允许与 pipeline(1) 或 Monitored(2) 命令交互?

  1. command | highlightThisText 'string1' 'string2' 'string3'
  2. 就像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 输出所有行,而不仅仅是那些匹配的行可能就是我正在寻找的。它非常接近满足我的需求 - 特别是管道进入ackgrep -E --color "Things I'd like highlighted"- 但是当我到达提示我继续“[Y/n]”的部分时apt-get,它不会显示任何内容。此时,我知道按“Y”或“n”,但如果我想将其用于其他命令,如果ackgrep阻止提示,我可能不知道要按什么。

作为示例,下面我正在使用readecho命令。read正在等待输入并且不会着色,但echo会按其应有的方式显示。

read 与 echo 的 ack 突出显示

相关内容