Почему этот выход R не перенаправляется?

61
5

Я использую Ubuntu 14.04. Мне нравится запускать R-скрипты из терминала (bash) с помощью команды Rscript. Мне нравится перенаправить мой вывод в файл, например:

Rscript some_R_code.R > output.log &

(Мне нравится запускать его в фоновом режиме, поэтому я использую &).

И, действительно, 99% выходного файла поступает в этот файл. Но я получаю нечетные небольшие сообщения, которых нет. Например:

Warning message:
replacing previous import ‘getCall when loading ‘fBasics

выводится на терминал, когда я хочу его в файл.

Что вызывает это, и как его исправить?

спросил(а) 2021-01-19T18:42:12+03:00 2 месяца, 3 недели назад
1
Решение
97

Вы направляете stdout в файл, но предупреждения на самом деле идут в stderr. Вы можете перенаправить stderr и stdout с помощью &>:

Rscript some_R_code.R &> output.log &

Или вы можете перенаправить stderr в отдельный файл:

Rscript some_R_code.R > output.log 2> err.log &

ответил(а) 2021-01-19T18:42:12+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема