140

在 Linux 上从标准输入读取数据时是否可以压缩(创建压缩存档)数据?

4

3 回答 3

205

是的,为此使用 gzip。最好的方法是读取数据作为输入并将压缩文件重定向到输出文件,即

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

cat test.csv会将数据作为标准输出发送,并使用管道符号 gzip 将该数据作为标准输入读取。确保将 gzip 输出重定向到某个文件,因为压缩数据不会写入终端。

于 2009-11-18T19:27:20.443 回答
112

是的,gzip会让你这样做。如果你只是简单地运行gzip > foo.gz,它会将 STDIN 压缩到文件 foo.gz 中。您还可以将数据通过管道传输到其中,例如some_command | gzip > foo.gz.

于 2009-11-18T19:00:49.873 回答
1

gzip > stdin.gz也许?否则,您需要充实您的问题。

于 2009-11-18T18:58:30.377 回答