2

Есть ли способ непрерывно сжимать вывод программы (практически в реальном времени)?

Например, у меня есть эта программа, которая производит (много) вывод в stderr. Я хочу сделать что-то вроде ./my-program 2> tar -<someoptions> stderroutput.tar.gz

2 ответа2

2

Если я правильно понимаю, вы хотите сжать содержимое стандартного потока ошибок и сохранить его в файл. Если так, попробуйте это:./my-program 2>&1 | gzip > stderroutput.gz

2

tar не сжимает данные; он предназначен только для архивирования нескольких файлов в один. Чтобы сжимать потоки, вам нужно использовать gzip , xz , bzip2 или аналогичные. (Хотя gzip имеет наихудший уровень сжатия, он также является одним из самых быстрых, поэтому он может быть лучшим выбором здесь.)

Например:

myapp 2> >(gzip > stderr.gz)

или же

(myapp 2>&1 1>&3 | gzip > stderr.gz) 3>&1

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .