Как я могу объединить команду find с gzip

Я пытаюсь сжать определенные файлы:

find /media/mount/storage -newermt "2013-08-01 00:00:00" -path '*/*wind.txt' -print0 | xargs -0 gzip -l >> file_system.tar.gz

, но получаю следующую ошибку:

gzip: /media/mount/storage/20130811120802_RHI1/20130811121000_wind.txt: not in gzip format

Где я могу ошибиться?

РЕДАКТИРОВАНИЕ: с ответом, написанным хронитом, иногда воссоздается смола, это вывод:

 /media/mount/storage/File system/20130505082135_CT1/20130505090000_wind.txt
 /media/mount/storage/File system/20130505085301_CT1/20130505090000_wind.txt
 tar: Removing leading `/' from member names <- the size of the tar became zero
 /media/mount/storageFile system/20130505085301_CT1/20130505091000_wind.txt
 /media/mount/storageFile system/20130505085301_CT1/20130505092000_wind.txt
0
задан 3 February 2014 в 20:43

1 ответ

Я предполагаю, что вы хотите создать архив gzipped tar, содержащий все файлы, которые находит команда find (в отличие от каждого файла gzip по отдельности).

Есть несколько проблем с вышеуказанной командой:

  • gzip -l принимает существующий архив и печатает содержимое
  • gzip само по себе не создает архивы tar (a контейнер для нескольких файлов), но просто сжимает каждый файл отдельно

То, что вы, вероятно, хотите, это что-то вроде:

find [conditions] -print0 | xargs -0 tar -zcf filesystem.tar.gz
0
ответ дан 3 February 2014 в 20:43

Другие вопросы по тегам:

Похожие вопросы: