Reputation: 7259
Is it possible to compress (create a compressed archive) data while reading from stdin on Linux?
Upvotes: 154
Views: 135421
Reputation: 7259
Yes, use gzip for this. The best way is to read data as input and redirect the compressed to output file i.e.
cat test.csv | gzip > test.csv.gz
cat test.csv
will send the data as stdout and using pipe-sign gzip will read that data as stdin. Make sure to redirect the gzip output to some file as compressed data will not be written to the terminal.
Upvotes: 226
Reputation: 118691
Yes, gzip
will let you do this. If you simply run gzip > foo.gz
, it will compress STDIN to the file foo.gz. You can also pipe data into it, like some_command | gzip > foo.gz
.
Upvotes: 114
Reputation: 12339
gzip > stdin.gz
perhaps? Otherwise, you need to flesh out your question.
Upvotes: 1