Попробуйте это:
(myCommand | sed s/^/stdout:/ >> myLogfile) 2>&1 | sed s/^/stderr:/ >> myLogFile
Первый канал вставляет префикс stdout:
к стандартному выводу myCommand
и добавляет его к myLogFile
.
Круглые скобки используются для единой команды всего этого. Они говорят, что дальнейшие перенаправления применяются к тому, что находится внутри скобок, а не только к sed
.
Затем стандартная ошибка перенаправляется на стандартный вывод с помощью 2>&1
(помните, что исходный стандартный вывод уже был перенаправлен на myLogFile
). Вторая труба вставляет префикс stderr:
к нему и добавляет его к myLogFile
.