Finalmente, encontrei uma maneira de alcançá-lo. Eu queria evitar operações de arquivo (tmpfs e tal) por motivos de desempenho e latência. O truque é dizer a dwdiff
ou wdiff
em seus dois argumentos o que a saída de um comando é e era dentro da mesma iteração. A substituição do processo foi minha ajuda:
while true; do p1=$p2; p2=$(clear; iotop -ob -n1);
dwdiff -y "0" -1 -c <(echo "$p1") <(echo "$p2"); sleep 1; done
O -y "0"
remove o espaço antes da palavra alterada para manter as colunas bem alinhadas. $p1
e $p2
são usados para manter o escopo das substituições do processo <(...)
. Fornecer a saída nas substituições diretamente não funcionou para mim. Recebi esta dica do presente post.
Talvez haja uma solução muito mais simples e eu fiquei muito complicado, afinal. Sinta-se à vontade para postar!