Серийный файл – нет добавления

У меня есть Arduino, отправляющий данные через последовательный порт на мой Ubuntu PC. Это работает, поскольку я могу открыть последовательный монитор на ПК и просмотреть данные. Ардуино отправляет одну строку данных каждые 2 секунды. Я хочу перенаправить вывод в текстовый файл на ПК. Я пытался:

(stty raw; cat > /home/me/received.txt) < /dev/ttyUSB2 

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

Я думал, что <vs << позаботится об этом, но, очевидно, я что-то упустил. Может кто-то указать мне верное направление?

2 Solutions collect form web for “Серийный файл – нет добавления”

Я бы попробовал что-то вроде этого:

 (stty raw; while IFS= read -R line; do printf '%s\n' "$line" > /home/me/received.txt; done) < /dev/ttyUSB2 

Другая возможность – слегка злоупотреблять awk:

 ( stty raw; awk -vf="outfile" '{print >f; close(f)}' )<tty 
  • Почему чтение работает, если stdin перенаправляется на fd4?
  • Не удается перенаправить вывод из sed
  • Bash: использование двухсторонних перенаправлений в сценарии оболочки
  • Задача Cron не записывать в файл журнала
  • Построение вывода скрипта bash после перенаправления stderr
  • Перераспределение работает с файловыми дескрипторами или файловыми дескрипторами?
  • Перенаправить tty в стандартный
  • Как написать файл в контейнере для докеров?
  • Наследовать перенаправления IO из сценария в другой
  • Как перенаправить вывод команды и ошибку на два разных файла?
  • Raspbian: проблема с перенаправлением вывода в скрипте udev
  • Interesting Posts

    Откройте каталог в файловом менеджере по умолчанию и выберите файл

    Установите wayland для стандартного автозапуска GDM

    Терминальное имя pty в соответствии с IP-адресом источника

    Какие параметры мне передать grep, чтобы возвращать только имена файлов?

    rsync: Почему -archive не подразумевает –рекурсивный, когда используется -files-from = FILE?

    Исходные IP-адреса белых списков в CentOS 7

    почему гном 3 отстает во всех дистрибутивах?

    Извлечение многострочного регулярного выражения без вкладок

    Обмен двумя столбцами в CSV с использованием SED

    Как «vi» осознает формат файлов конфигурации?

    Настроить bash для выполнения команды с последним аргументом, если аргумент не был предоставлен

    По умолчанию оболочка не выбрана с помощью useradd

    Серийный номер жесткого диска от терминала?

    Как начать два процесса, поддерживаемых свиньями? Итак, первый заканчивается, когда второй заканчивается?

    Поиск строки нескольких позиций в большом текстовом файле

    Linux и Unix - лучшая ОС в мире.