【发布时间】:2012-01-13 10:45:17
【问题描述】:
我正在尝试查找 30 天前创建/修改的文件并将其存档。为此,我正在使用 Unix Find 命令。我可以用下面的命令行来实现这个要求。
find . -type f -mtime +30 -exec basename {} \; | xargs -I file_name echo mv /home/Cyrup/chip/arc_poc/file_name /home/Cyrup/chip/arc_poc/arc/file_name_$(date +%Y%m%d) | ksh
但是,我想仅使用我无法实现的 find 命令来执行此任务。我尝试在下面使用:
find . -type f -mtime +30 -exec mv {} /home/Cyrup/chip/arc_poc/arc/{}_`date +%Y%m%d` \;
但它不工作。这里 if {} 充当 find 命令识别的所有文件的占位符。那么我在通过使用日期重命名将文件移动到存档目录时是否会出错?..
-mtime 也用于文件的修改时间。有什么方法可以根据文件的创建时间找到文件。据我所知,我们没有任何使用 find 命令的选项。
谢谢
【问题讨论】: