
Я пытаюсь сжать определенные файлы:
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
Где я делаю ошибку?
ОТРЕДАКТИРОВАНО: с ответом, написанным chronitis, иногда tar воссоздается, вот вывод:
/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
решение1
Я предполагаю, что вы хотите создать сжатый с помощью gzip tar-архив, содержащий все файлы, find
которые находит команда (а не сжимать с помощью gzip каждый из этих файлов по отдельности).
С приведенной выше командой связано несколько проблем:
gzip -l
принимает существующий архив и распечатывает его содержимоеgzip
сам по себе не создает tar-архивы (контейнер для нескольких файлов), а просто сжимает каждый файл по отдельности
Вероятно, вы хотите что-то вроде:
find [conditions] -print0 | xargs -0 tar -zcf filesystem.tar.gz