Linux 删除文件";早于;在压缩档案中

Linux 删除文件";早于;在压缩档案中,linux,bash,unix,zip,archive,Linux,Bash,Unix,Zip,Archive,我每月归档一次10MB的文件,然后通过电子邮件发送。 下个月,我需要删除存档中前几个月的文件并添加新文件。这样我就把空间保持在一个较低的水平。除了取消归档、搜索然后归档之外,我还没有找到一种方法 文件名以最后一个月的日期结束。文件名20130430.csv,日期为可变日期 有什么想法吗?如果您正在使用,您可以使用“-d”有选择地从存档中删除文件,例如: 您还可以根据文件的修改日期删除文件(请注意,日期格式为MMDDYY或yyyy-mm-dd),例如,在2013年5月1日之前删除所有csv文件:

我每月归档一次10MB的文件,然后通过电子邮件发送。 下个月,我需要删除存档中前几个月的文件并添加新文件。这样我就把空间保持在一个较低的水平。除了取消归档、搜索然后归档之外,我还没有找到一种方法

文件名以最后一个月的日期结束。文件名20130430.csv,日期为可变日期

有什么想法吗?

如果您正在使用,您可以使用“-d”有选择地从存档中删除文件,例如:

您还可以根据文件的修改日期删除文件(请注意,日期格式为MMDDYY或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 '{}' \;

请参阅和上的手册。

为什么不简单地按原样存储您的文件,并每月创建一个新的存档,然后通过电子邮件发送?(然后你最终可以删除存档文件)我最终必须这样做。如果没有别的办法。
# ZIP all CSV files older than 14 days within the same directory
find /your/directory/*.csv -mtime +13 -execdir zip -rm ./'{}'\.zip '{}' \;