Regex 根据创建日期移动文件

Regex 根据创建日期移动文件,regex,linux,shell,Regex,Linux,Shell,我遇到了一个问题,下面的命令将超过13天的文件从/unpack移动到/storage find /home/user/private/data/unpack/* -mtime +13 -exec mv {} /home/user/private/data/unpack/storage/ \; 但是,如果我将这些文件保存在/storage文件夹中,并在子文件夹中进行组织,则上述命令会将所有这些文件从其文件夹移回/storage 我四处寻找从find命令中完全排除/storage的方法,得到了一个

我遇到了一个问题,下面的命令将超过13天的文件从/unpack移动到/storage

find /home/user/private/data/unpack/* -mtime +13 -exec mv {} /home/user/private/data/unpack/storage/ \;
但是,如果我将这些文件保存在/storage文件夹中,并在子文件夹中进行组织,则上述命令会将所有这些文件从其文件夹移回/storage

我四处寻找从find命令中完全排除/storage的方法,得到了一个粗略的删减方法。我对linux和regex还是相当陌生,所以我自己也没能成功

为有时间帮忙的专业人士祈祷

这可能适合您(这是一行,没有结尾的
\
字符):

这可能适用于您(这是一行,没有结尾的
\
字符):


我知道这是一个老帖子,但你试过这个吗

find /home/user/private/data/unpack/* -mtime +13 ! -path /home/user/private/data/unpack/storage/* -exec mv {} /home/user/private/data/unpack/storage/ \;
这应该行得通


抱歉,没有发现其他命令有效

知道这是一篇旧文章,但您尝试过这个吗

find /home/user/private/data/unpack/* -mtime +13 ! -path /home/user/private/data/unpack/storage/* -exec mv {} /home/user/private/data/unpack/storage/ \;
这应该行得通


很抱歉,没有捕获到其他有效的命令

也许这可以通过使用rsync解决?也许这可以通过使用rsync解决?我尝试在.sh脚本中使用您的代码,结果运行良好,但遗憾的是结果与我自己的完全相同。仍然会将子目录文件夹中的所有文件移回存储文件夹。非常非常棒。它不仅工作得很好,而且它不像我的一样从shell窗口发送垃圾邮件。非常感谢Zsolt。我尝试在.sh脚本中使用您的代码,结果运行良好,但遗憾的是结果与我自己的完全相同。仍然会将子目录文件夹中的所有文件移回存储文件夹。非常非常棒。它不仅工作得很好,而且它不像我的一样从shell窗口发送垃圾邮件。非常感谢你的帮助。