我正处于 shell 脚本等的开始阶段,并且有点难以找到为命令的重复输出着色的正确方法,类似于 watch 命令中的 -d 选项。
我想看看 lsof 和其他一些命令的变化。这意味着,我只希望更改的/新行为红色(而不是用白色背景突出显示并突出显示以下所有行)。有没有一种优雅的方法可以使用 diff 或任何其他命令来完成它?
示例:红线表示通过 SSH 建立的新连接。
(我知道,我可以在这里用 GREP 建立 ESTABLISHED,但并不是我想看的每个命令都会给我一个要搜索的关键字。所以我必须在输出中寻找新的/更改的行。)
小智 1
您可以使用ANSI
转义序列。要设置所需的颜色和样式,有一种语法\033[#m
,其中 # 可以是一组有效的分号分隔的数字。
您可以定义颜色,例如
CLEAR="\033[0m"
GREEN="\033[0;32m"
BLUE="\033[0;34m"
PURPLE="\033[0;35m"
RED="\033[0;31m"
YELLOW="\033[1;33m"
Run Code Online (Sandbox Code Playgroud)
并使用它们,例如echo -e "${GREEN}Updated${CLEAR}"