Ответ 1
Да, используйте gzip для этого. Лучший способ - считывать данные в качестве входных данных и перенаправлять сжатый в выходной файл i.e.
cat test.csv | gzip > test.csv.gz
cat test.csv
отправит данные как stdout и используя знак pipe gzip будет читать эти данные как stdin. Обязательно перенаправляйте вывод gzip в некоторый файл, поскольку сжатые данные не будут записываться на терминал.