2009-11-18 38 views

Trả lời

101

Có, sử dụng gzip cho việc này. Cách tốt nhất là để đọc dữ liệu như là đầu vào và chuyển hướng nén tập tin đầu ra ví dụ:

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

cat test.csv sẽ gửi dữ liệu như stdout và sử dụng ống-dấu gzip sẽ đọc dữ liệu như stdin. Đảm bảo chuyển hướng đầu ra gzip sang một số tệp dưới dạng dữ liệu nén sẽ không được ghi vào thiết bị đầu cuối.

+2

Lưu ý rằng các tệp test.csv.gz vẫn còn 0 cho đến khi dữ liệu được đóng. –

+0

... và làm thế nào để làm điều đó? Nó thực sự là một câu hỏi riêng biệt? – russellpierce

+8

Điều này cũng làm việc với 'xz':' mysqldump mydb | xz> dbdump.sql.xz' – jeroen

0

gzip > stdin.gz có lẽ? Nếu không, bạn cần phải đưa ra câu hỏi của bạn.

95

Có, gzip sẽ cho phép bạn thực hiện việc này. Nếu bạn chỉ cần chạy gzip > foo.gz, nó sẽ nén STDIN thành tệp foo.gz. Bạn cũng có thể thêm dữ liệu ống vào nó, như some_command | gzip > foo.gz.

Các vấn đề liên quan