2

我遇到了以下命令的问题,该命令将超过 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 还是很陌生,所以我仍然没有运气让它自己工作。

为有时间提供帮助的专业人士交叉手指。

4

2 回答 2

0

\这可能对您有用(它是没有那些结尾字符的单行):

find /home/user/private/data/unpack/* \
     -mtime +13 \
     \( ! -regex '/home/user/private/data/unpack/storage/.*' \) \
     -exec mv {} /home/user/private/data/unpack/storage/ \;
于 2012-09-04T21:21:52.177 回答
0

知道这是一篇旧帖子,但你试过这个吗

find /home/user/private/data/unpack/* -mtime +13 ! -path /home/user/private/data/unpack/storage/* -exec mv {} /home/user/private/data/unpack/storage/ \;

那应该行得通。

抱歉没有'赶上其他命令工作

于 2013-08-05T18:56:30.070 回答