答案1
您想要查找目录,但正在查找纯文件 ( f
)。用于d
目录搜索:
sudo find /home/lanein1/AshtonRPOUT/ -type d -mtime +30 -exec mv '{}' /home/lanein1/AshtonRPOUT/Arch/ \;
答案2
要移动/home/lanein1/AshtonRPOUT/
修改时间为过去 30 天的所有目录,但保持最顶层目录 ( /home/lanein1/AshtonRPOUT/
) 不变,您可以使用
find /home/lanein1/AshtonRPOUT/ -mindepth 1 -maxdepth 1 -type d \
! -path '/home/lanein1/AshtonRPOUT/Arch*' -mtime +30 \
-exec mv {} /home/lanein1/AshtonRPOUT/Arch/ ';' -prune
这里需要注意的事项:
我们正在寻找目录,而不是文件,所以我们将使用
-type d
.目标目录包含在 搜索的目录集中
find
,因此我们使用! -path '...'
来避开该路径。您不想尝试移动顶级目录,因此我们添加
-mindepth 1
开始查找下面那条路。同样,-maxdepth 1
强制find
不要进入子文件夹(您说您有子文件夹并且这些子文件夹仅包含文件)。(这在这里不是必需的,因为我们使用
-maxdepth 1
但是...)移动目录将更改目录结构。因此我们-prune
在最后添加。这将从将考虑的目录列表中删除移动的路径find
。如果没有这个,find
将尝试进入不存在的目录(如果找到并移动目录)。