2013-05-03 116 views
0

我正在每月存檔一次10 MB的文件,然後通過電子郵件發送。 下個月,我需要刪除檔案中的前幾個月文件並添加新文件。這樣我就可以保持較低的空間。除了解壓縮和搜索,然後存檔,我還沒有找到辦法做到這一點!在zip壓縮文件中刪除一個「比...早」的文件

文件名以上個月的日期結束。 filename20130430.csv,日期是變量日期。

任何想法?

+1

爲什麼不簡單地保持文件原樣存儲,並且每個月都要創建一個新的存檔,並通過電子郵件發送? (然後你最終可以刪除檔案文件) – 2013-05-03 14:33:28

+0

我最終必須這樣做。如果沒有其他方法。 – case 2013-05-03 15:10:08

回答

1

如果您使用info ZIP,您可以選擇從檔案中刪除文件與「-d」,例如:

zip -d archive.zip filename201304\*.csv 

您也可以根據自己的修改日期刪除文件(注意這裏的日期格式是mmddyyyy或yyyy-mm-dd),例如。 2013年5月1日之前刪除所有CSV文件:

zip --before-date 05012013 -d archive.zip \*.csv 

和文件添加到壓縮文件沒有任何選項:

zip archive.zip filename20130531.csv 
0

爲了節省磁盤空間,你可能只是將所有CSV文件到ZIP:

# ZIP all CSV files older than 14 days within the same directory 
find /your/directory/*.csv -mtime +13 -execdir zip -rm ./'{}'\.zip '{}' \; 

請參閱find -execdirzip -rm手冊。