Сжатие файлов при чтении данных из STDIN

Можно ли сжимать (создавать сжатый архив) данные при чтении из stdin в Linux?

Ответ 1

Да, используйте gzip для этого. Лучший способ - считывать данные в качестве входных данных и перенаправлять сжатый в выходной файл i.e.

cat test.csv | gzip > test.csv.gz

cat test.csv отправит данные как stdout и используя знак pipe gzip будет читать эти данные как stdin. Обязательно перенаправляйте вывод gzip в некоторый файл, поскольку сжатые данные не будут записываться на терминал.

Ответ 2

Да, gzip позволит вам это сделать. Если вы просто запустите gzip > foo.gz, он сжимает STDIN в файл foo.gz. Вы также можете передавать данные в него, например some_command | gzip > foo.gz.

Ответ 3

gzip > stdin.gz возможно? В противном случае вам необходимо задать свой вопрос.