我正在寻找某种解决方案,我必须在前一天将源目录下的所有目录和文件移动到目标。我想移动昨天的目录,而不是今天的目录。
find /temp/source/* -mtime +1 -exec mv -t /temp/destination/ {} \;
答案1
daystart
如果要抓取截至昨天 23:59 点的所有文件,您需要:
从今天开始而不是 24 小时前测量时间(针对 -amin、-atime、-cmin、-ctime、-mmin 和 -mtime)。此选项仅影响命令行中稍后出现的测试。
例子:
find /temp/source/* -daystart -mtime +0
或者你只想要今天的所有文件
find /temp/source/* -daystart -mtime 0
或者仅限昨天的所有文件
find /temp/source/* -daystart -mtime 1
您甚至可以定义特定的日期范围,例如昨天和前天的所有文件:
find /temp/source/* -daystart -mtime +0 -mtime -3
PS您应该考虑将子目录-mindepth 1
替换为。*
find