Unix 使用find命令查找文件并将其存档并附加日期-需要单个find命令

Unix 使用find命令查找文件并将其存档并附加日期-需要单个find命令,unix,find,Unix,Find,我正在尝试查找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命令来执行这

我正在尝试查找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命令标识的所有文件的占位符。那么,在将文件移动到存档目录时,我是否会在任何地方出错,方法是将其重命名为date

另外-mtime表示文件的修改时间。是否有任何方法可以根据文件的创建时间查找文件。据我所知,我们没有任何关于find命令的选项


谢谢

仅在
find
命令中无法执行此操作。您可以编写一个重命名脚本,并用它代替
mv

find . -type f -mtime +30 -exec appenddate.sh {} \;
appenddate.sh类似于:

mv $1 $1_`date +%Y%m%d`