将子文件夹移至其他文件夹

将子文件夹移至其他文件夹

我是 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如果您不想递归到子文件夹,您可能还想添加,这在这里是有意义的,因为它们已经包含在任何上级文件夹中。

相关内容