
我正在嘗試壓縮特定檔案:
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