Я хочу записать stdout в файл, но также и печатает stdout и stderr. Я пытался использовать мишень:
prog | tee stdout.txt
но это заставляет печатный stderr и stdout быть чередованным неправильно, т.е. если корректный вывод должен быть
OUT1 ERR1
OUT2 ERR2
OUT3 ERR3
OUT4 ERR4
использование мишени могло бы распечатать их не в порядке, например:
ERR1 ERR2
OUT1
OUT2
OUT3 ERR3
OUT4
ERR4
Там какой-либо путь состоит в том, чтобы распечатать и stdout и stderr, чтобы экранировать и также записать stdout в файл без пожирания печатный вывод?
Я передал бы stdout файлу, затем использовать хвост для наблюдения содержания файла, как это записано. Это означает, что у Вас должно быть два открытые терминала.
Терминал один:
prog > stdout.txt
Терминальные два:
tail -f stdout.txt
Так, в терминальных двух Вы будете видеть stdout содержание, как оно записано в stdout.txt, и в терминале один Вы будете видеть stderr. Можно также передать и stdout и stderr в файл, и сделать то же самое. В этом случае необходимо использовать prog >& outerr.txt
. (Это будет работать над tcsh, но можно сделать это в ударе, также.)