我正在每月存檔一次10 MB的文件,然後通過電子郵件發送。 下個月,我需要刪除檔案中的前幾個月文件並添加新文件。這樣我就可以保持較低的空間。除了解壓縮和搜索,然後存檔,我還沒有找到辦法做到這一點!在zip壓縮文件中刪除一個「比...早」的文件
文件名以上個月的日期結束。 filename20130430.csv,日期是變量日期。
任何想法?
我正在每月存檔一次10 MB的文件,然後通過電子郵件發送。 下個月,我需要刪除檔案中的前幾個月文件並添加新文件。這樣我就可以保持較低的空間。除了解壓縮和搜索,然後存檔,我還沒有找到辦法做到這一點!在zip壓縮文件中刪除一個「比...早」的文件
文件名以上個月的日期結束。 filename20130430.csv,日期是變量日期。
任何想法?
如果您使用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
爲了節省磁盤空間,你可能只是將所有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 -execdir和zip -rm手冊。
爲什麼不簡單地保持文件原樣存儲,並且每個月都要創建一個新的存檔,並通過電子郵件發送? (然後你最終可以刪除檔案文件) – 2013-05-03 14:33:28
我最終必須這樣做。如果沒有其他方法。 – case 2013-05-03 15:10:08