答案1
最后我找到了实现它的方法。出于性能和延迟原因,我想避免文件操作(tmpfs 等)。诀窍是告诉dwdiff
orwdiff
在它的两个参数中命令的输出是什么是和曾是在同一迭代内。流程替换是我的帮手:
while true; do p1=$p2; p2=$(clear; iotop -ob -n1);
dwdiff -y "\010" -1 -c <(echo "$p1") <(echo "$p2"); sleep 1; done
删除-y "\010"
更改的单词之前的空格以保持列良好对齐。$p1
和$p2
用于保留过程替换的范围<(...)
。直接提供替换中的输出对我来说不起作用。我从这里得到这个提示这邮政。
也许有一个更简单的解决方案,但我毕竟太复杂了。请随意发布!
答案2
您可以使用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"
并使用它们,例如echo -e "${GREEN}Updated${CLEAR}"