перенаправить вывод, добавить текст и добавить как в файл txt

Я хотел бы записать вывод программы и временную метку в файл журнала. Все это произойдет во встроенной системе, а c-код моей программы не будет генерировать временные метки. Что бы я хотел:

[cat /proc/uptime] [printf output from program]

Все это происходит в оболочке, так что все выходы программы записываются в журнал.

0
задан 22 November 2017 в 16:24

2 ответа

Предполагая, что вы ответили «да» на мой комментарий, я создал простой код:

#!/bin/bash while read Line do echo "$(cat /proc/uptime): ${Line}" done #

Сохраните код в файле, т. е. wrapper и дать ему биты выполнения chmod +x wrapper. Теперь запустите его как: <program> | wrapper или выведите файл: <program> | wrapper > logfile Пока ваша программа генерирует вывод, обертка поймает ее. Если программа останавливается, оболочка также будет.

1
ответ дан 18 July 2018 в 02:49

Предполагая, что вы ответили «да» на мой комментарий, я создал простой код:

#!/bin/bash while read Line do echo "$(cat /proc/uptime): ${Line}" done #

Сохраните код в файле, т. е. wrapper и дать ему биты выполнения chmod +x wrapper. Теперь запустите его как: <program> | wrapper или выведите файл: <program> | wrapper > logfile Пока ваша программа генерирует вывод, обертка поймает ее. Если программа останавливается, оболочка также будет.

1
ответ дан 24 July 2018 в 17:39
  • 1
    Я сказал да. Ваше решение печатает все выходы одновременно (почти) в моем файле журнала. Я тестировал его с помощью программы c, которая выводит одну строку в секунду. Такая же проблема для моего долгого поискового решения: exec "${@:2}" | sed "s/^/$(cat /proc/uptime) /">> stupid.log # Problem here: the uptime is the same for all lines written – Stefatronik 22 November 2017 в 17:18
  • 2
    @Stefatronik, скрипт работает так, как ожидается - нажмите здесь . – pa4080 22 November 2017 в 18:57
  • 3
    @Stefatronik, если ваша программа выйдет очень быстро, вам нужно найти способ отображения времени в миллисекундах или даже в микросекундах? – user 22 November 2017 в 22:45
  • 4
    @WillemK нет, это будет не так быстро. – Stefatronik 23 November 2017 в 16:38
  • 5
    @ pa4080: это то, что я искал. Спасибо вашему примеру, как использовать чтение и слияние строки в эхо. – Stefatronik 23 November 2017 в 16:41

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

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