web-dev-qa-db-fra.com

Compresser des fichiers en lisant des données de STDIN

Est-il possible de compresser (créer une archive compressée) des données lors de la lecture de stdin sous Linux?

117
Space

Oui, utilisez gzip pour cela. Le meilleur moyen est de lire les données en entrée et de rediriger le fichier compressé vers le fichier de sortie, c.-à-d.

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

cat test.csv enverra les données en tant que stdout et en utilisant pipe-sign gzip les lira en tant que stdin. Assurez-vous de rediriger la sortie gzip vers un fichier car les données compressées ne seront pas écrites sur le terminal.

161
Space

Oui, gzip vous permettra de le faire. Si vous exécutez simplement gzip > foo.gz, il compressera STDIN dans le fichier foo.gz. Vous pouvez également y transférer des données, comme some_command | gzip > foo.gz.

110
jtbandes

gzip > stdin.gz peut-être? Sinon, vous devez préciser votre question.

1
retracile