Почему бы не скопировать файл в новое имя файла с помощью file. copy()
Из руководства по R:
file.copy(from, to, overwrite = recursive, recursive = FALSE,
copy.mode = TRUE, copy.date = FALSE)
Насколько велик таблица ваших сотрудников? Если у вас нет миллиона сотрудников, а каждая запись занимает тысячи байтов, вероятно, даже не стоит беспокоиться о сжатии вывода.
Почти наверняка не стоит сжимать его во время создания выходного файла - так почему бы просто не вывести его в несжатый простой текст, запустите count = $ (wc -l out1); echo "T $ count" >> out1
, а затем сжать его с помощью gzip out1
?
в качестве альтернативы, просто запустите какой-нибудь вариант select count (*) from employee
перед командой выключить спул
.
Из man gzip
вы можете прочитать, что файлы gzip
ped можно просто объединить:
РАСШИРЕННОЕ ИСПОЛЬЗОВАНИЕ Можно объединить несколько сжатых файлов. В этом случае gunzip извлечет всех участников сразу. Например:
gzip -c file1> foo.gz gzip -c file2 >> foo.gz Затем gunzip -c foo эквивалентно cat file1 file2
Это также можно сделать с помощью cat
для файлов gzip
ped, например:
seq 1 4 > A && gzip A
echo 5 > B && gzip B
#now 1 to 4 is in A.gz and 5 in B.gz, we want 1 to 5 in C.gz:
cat A.gz B.gz > C.gz && zcat C.gz
1
2
3
4
5
#or for appending B.gz to A.gz:
cat B.gz >> A.gz
Чтобы сделать это без внешнего файла для добавления строки, выполните следующие действия:
echo "this is the new line" | gzip - | cat - >> original_file.gz
Я боролся с похожей задачей :добавить несколько строк в сжатый дамп sql. Мое решение было основано на ответе @Fiximan
echo 'append this string' | gzip >> out.gz