Как регистрировать Последовательные данные с меткой времени?

Вы разбалансировали Ваш \[ и \]. Управляющие последовательности должны быть перенесены в них, так, чтобы удар знал, что они на самом деле не занимают места в Вашем терминале.

Попробуйте это:

PS1="\[\033[1;31m\][\[\033[1;33m\]\$(date +%H:%M)\[\033[1;31m\]] \u:\[\033[1;32m\]\W\[\033[1;37m\]\$\[\033[0m\] "

Решение @jw013 еще лучше, тем не менее, поскольку это намного более чисто.

7
13.12.2013, 12:24
2 ответа

Можно использовать ts программа от moreutils для добавления метки времени к каждой строке.

{ echo foo; sleep 1; echo bar; } | ts
Dec 13 01:07:23 foo
Dec 13 01:07:24 bar

Читать из последовательного порта и производить в файл:

ts </dev/ttyS0 >arduino.log

(Замена /dev/ttyS0 правильным путем для устройства последовательного порта.)

6
27.01.2020, 20:17
  • Я рекомендовал бы http://elinux.org/Grabserial.

  • И форматирование ts вывод плюс, это добавляет точность большего количества времени.

    ts [%H.%M.%.S]

3
27.01.2020, 20:17

Теги

Похожие вопросы