Архивация tar-ом через stdin
Добавлено: 2009-10-26 17:53:55
Есть задача: Во FreeBSD производится вывод некоего файла в stdin. Хотелось бы по конвейеру сжать его в tar.
Начало цепочки значения не имеет, поэтому можно условно использовать для моделирования процесса "cat txt.log |".
Не могу найти способа передать этот stdin напрямую в tar (у меня он воспринимает на входе только имена файлов). Это, вообще, возможно или только можно использовать gzip/bzip2 ?
Есть, конечно альтернатива: использовать pipe. Но он, насколько понимаю, пишется на диск, что неоправданно затратно. Может, я чего не понял и есть экономный по ресурсам/операциям способ?
Кстати, столкнулся с непонятной фигнёй - не проходит команда типа:
Можно только последовательно:
Интересно, из-за чего так?
Начало цепочки значения не имеет, поэтому можно условно использовать для моделирования процесса "cat txt.log |".
Не могу найти способа передать этот stdin напрямую в tar (у меня он воспринимает на входе только имена файлов). Это, вообще, возможно или только можно использовать gzip/bzip2 ?
Есть, конечно альтернатива: использовать pipe. Но он, насколько понимаю, пишется на диск, что неоправданно затратно. Может, я чего не понял и есть экономный по ресурсам/операциям способ?
Кстати, столкнулся с непонятной фигнёй - не проходит команда типа:
Код: Выделить всё
mkfifo tar_pipe && cat txt.log > tar_pipeКод: Выделить всё
mkfifo tar_pipe
cat txt.log > tar_pipe