anonymous@RULINUX.NET~# Last login: 2024-12-26 10:43:45
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

Странное конверра с cat'ом из последовательного порта

Имеется устройство на rs-485, от которого приходят данные в текстовом виде. Пытаюсь разобрать эти данные при помощи обычного конвеера с awk, но, если число фильтров в конвеере больше двух, то вместо фильтрованных данных получаю куй.

Т.е.

  1.   cat /dev/ttyMI0 | awk '{print substr($0, 2, 2)
' }

или

    cat /dev/ttyMI0 | cut -b 2-4

Ещё работают, а

    cat /dev/ttyMI0 | awk '{print substr($0, 2, 2), substr($0, 4, 4)
' | awk '{print $1}' }

не выводит уже ничего. Перенаправление в файл так же не работает. Даже не знаю в какую строну копать. Единственное, что могу подозревать, так это настройки последовательного порта, но и то не понятно, каким боком они могут так влиять на конвеер.

Буду признателен за любые предложения, которые заставят конвеер работать как надо.

anonymous(*) (2009-09-09 14:17:00)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.13) Gecko/2009080315 Ubuntu/9.04 (jaunty) Firefox/3.0.13

[Ответить на это сообщение]
avatar
Скрыть

Re: Странное конверра с cat'ом из последовательного порта

Первое что приходит в голову: буферизация. Если данные идут редко и небольшими порциями, такое может наблюдаться. Отключить буферизацию в общем случае непросто, предлагаю покопать в направлении unbuffer из пакета expect.

anonymous(*)(2009-09-09 16:01:54)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.9) Gecko/2009050519 Iceweasel/3.0.6 (Debian-3.0.6-1)
avatar
Скрыть

Re: Странное конверра с cat'ом из последовательного порта

если вместо девайса подсунуть текстовый файл, что происходит?

bugmaker(*)(2009-09-09 16:25:16)

Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.0.13) Gecko/2009080315 Ubuntu/9.04 (jaunty) Firefox/3.0.13
avatar
Скрыть

Re: Странное конверра с cat'ом из последовательного порта

>если вместо девайса подсунуть текстовый файл, что происходит?
То всё работает как и положено. Пробовал играться с настройками порта - эффекта ноль, пробовал от другого пользователя (оба могут читать/писать в/из /dev/ttyMI*) - та же картина.

anonymous(*)(2009-09-09 16:54:17)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.13) Gecko/2009080315 Ubuntu/9.04 (jaunty) Firefox/3.0.13
avatar
Скрыть

Re: Странное конверра с cat'ом из последовательного порта

>Первое что приходит в голову: буферизация.
Таки да. Прогнал тестовый файл через порт с заглушкой - всё работает.

anonymous(*)(2009-09-09 17:10:58)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.13) Gecko/2009080315 Ubuntu/9.04 (jaunty) Firefox/3.0.13
avatar
Скрыть

Re: Странное конверра с cat'ом из последовательного порта

tail -f /dev/ttyMI0 | awk '{print substr($0, 2, 2)

?

vilfred(*)(2009-09-09 20:08:01)

Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2
Этот тред читают 2 пользователя:
Анонимных: 2
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!