【问题标题】:how to double pipe candump如何双管candump
【发布时间】:2017-12-01 18:17:01
【问题描述】:

使用candump读取can总线时:

$ 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,&lt;whatever&gt;,7ff | grep &lt;whatever&gt; 但它只在这种情况下有效)

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

【问题讨论】:

  • 预期输出是什么?可能有零行匹配两个 grep。

标签: grep pipe can-bus canutils


【解决方案1】:

问题不是来自candump,而是来自缓冲输出的grep

你可以在here找到这个行为的一个很好的解释。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-28
    • 2018-05-25
    • 1970-01-01
    • 2013-06-22
    • 1970-01-01
    • 2015-12-28
    • 2010-09-11
    相关资源
    最近更新 更多