我是 UNIX 新手,我正在尝试编写一个 shell 脚本,将日志存档目录中超过一天的所有文件夹移动到另一个文件夹中。
下面是我用来执行此操作的命令。
find /location/logarchive -mtime +1 -type d -exec mv "{}" /Destination/Archives \;
此命令正在移动父目录,即logarchive
移动到目标而不是子文件夹。
你能帮我修改这个命令吗?
答案1
您还需要添加-mindepth 1
到您的命令中,以便不包含您最初指定的实际目录。
find /location/logarchive -mindepth 1 -mtime +1 -type d -exec mv "{}" /Destination/Archives \;
-maxdepth 1
如果您不想递归到子文件夹,您可能还想添加,这在这里是有意义的,因为它们已经包含在任何上级文件夹中。