如何双管甘油

时间:2017-06-28 11:47:25

标签: grep pipe can-bus canutils

使用candump阅读can bus时:

$ candump can0

如果我贪图一次:

$ candump can0 | grep <whatever>

完美无缺:

  $ candump can0 | grep 1A8           
  can0  1A8   [8]  3C 53 C5 FF 0D C3 3A 01
  can0  1A8   [8]  3C 53 C5 FF 0D C3 3A 01

如果我尝试两次grep:

candump can0 | grep 1A8 | grep 1A8

它什么都不返回......

Ps:可以通过使用它来解决(candump can0,<whatever>,7ff | grep <whatever>,但它只适用于那种精确的情况)

编辑:为清楚起见,如果我两次相同的东西,它仍然无法正常工作

1 个答案:

答案 0 :(得分:0)

问题不是来自candump,而是来自grep,它们缓冲了输出。

您可以找到有关此行为here的很好的解释。