Сжатие файлов при чтении данных из STDIN - PullRequest
113 голосов
/ 18 ноября 2009

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

Ответы [ 3 ]

157 голосов
/ 18 ноября 2009

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

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

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

110 голосов
/ 18 ноября 2009

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

1 голос
/ 18 ноября 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...