Как сдвинуть трубу

При использовании Candump для чтения может автобус:

$ 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

Если я попытаюсь сделать это дважды:

candump can0 | grep 1A8 | grep 1A8

ничего не возвращается...

PS: это может быть решено с помощью этого (candump can0,<whatever>,7ff | grep <whatever> но это работает только в этом конкретном случае)

Изменить: для ясности, если я grep дважды те же вещи, это все еще не работает

0 ответов

Проблема не исходит от candump но из grep что буферизирует вывод.

Вы можете найти хорошее объяснение этого поведения здесь.

Другие вопросы по тегам