当使用candump阅读can bus时:
$ candump can0
如果我grep一次:
$ 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>
但它只适用于那种精确的情况)
编辑:为清楚起见,如果我两次相同的东西grep它仍然无法正常工作
这个问题不是来自candump
,而是来自缓冲输出的grep
。
你可以找到这种行为的一个很好的解释here。